ExpandableListAdapter.java
// 어댑터 부분 코드입니다.
public class ExpandableListAdapter extends BaseExpandableListAdapter {
public Context mContext;
public ExpandableListView mListView;
public List mModel;
public Context mContext2;
public ExpandableListView mListView2;
public List mModel2;
public ExpandableListAdapter(Context pContext, ExpandableListView pListView, List pModel)
{
this.mContext = pContext;
this.mListView = pListView;
this.mModel = pModel;
}
public void ExpandableListAdapter2(Context pContext2, ExpandableListView pListView2, List pModel2)
{
this.mContext = pContext2;
this.mListView = pListView2;
this.mModel = pModel2;
}
public void addItem(DatailsModel item, SampleModel groupData)
{
if(!mModel.contains(groupData)){
mModel.add(groupData);
}
int ind = mModel.indexOf(groupData);
List lstItems = ((SampleModel) mModel.get(ind)).getItems();
lstItems.add(item);
((SampleModel) mModel.get(ind)).setItems(lstItems);
}
public void addItem2(DatailsModel2 item2, SampleModel groupData2)
{
if(!mModel2.contains(groupData2)){
mModel2.add(groupData2);
}
//get에 2 붙이면 오륭
int ind2 = mModel2.indexOf(groupData2);
List lstItems2 = ((SampleModel) mModel2.get(ind2)).getItems2();
lstItems2.add(item2);
((SampleModel) mModel2.get(ind2)).setItems2(lstItems2);
}
@Override
public Object getChild(int groupPosition, int childPosition){
List item = ((SampleModel) mModel.get(groupPosition)).getItems();
return item.get(childPosition);
}
public Object getChild2(int groupPosition2, int childPosition2){
List item2 = ((SampleModel) mModel2.get(groupPosition2)).getItems2();
return item2.get(childPosition2);
}
@Override
public long getChildId(int groupPosition, int childPosition){
return childPosition;
}
public long getChildId2(int groupPosition2, int childPosition2){
return childPosition2;
}
@Override
public View getChildView(int groupPosition, int childPosition, boolean isLastChild, View view, ViewGroup parent) {
DatailsModel item = (DatailsModel)getChild(groupPosition, childPosition);
if(view == null){
LayoutInflater inflater = (LayoutInflater)mContext.getSystemService(mContext.LAYOUT_INFLATER_SERVICE);
view = inflater.inflate(R.layout.list_item, null);
}
TextView txtCountry = (TextView)view.findViewById(R.id.txtCountry);
txtCountry.setText(item.getSubData());
return view;
}
@SuppressLint("ParserError")
public View getChildView2(int groupPosition2, int childPosition2, boolean isLastChild2, View view2, ViewGroup parent2) {
DatailsModel2 item2 = (DatailsModel2)getChild2(groupPosition2, childPosition2);
if(view2 == null){
LayoutInflater inflater2 = (LayoutInflater)mContext2.getSystemService(mContext.LAYOUT_INFLATER_SERVICE);
view2 = inflater2.inflate(R.layout.list_item3, null);
}
//settext2 라고하면 오류
RadioButton txtCountry2 = (RadioButton)view2.findViewById(R.id.txtCountry2);
txtCountry2.setText(item2.getSubData2());
return view2;
}
// getChildrenCount () 에서 return 값이 0 이 나옵니다ㅠ.ㅠ
@Override
public int getChildrenCount(int groupPosition){
return ((SampleModel) mModel.get(groupPosition)).getItems().size();
}
public int getChildrenCount2(int groupPosition2){
return ((SampleModel) mModel2.get(groupPosition2)).getItems2().size();
}
@Override
public Object getGroup(int groupPosition){
return mModel.get(groupPosition);
}
public Object getGroup2(int groupPosition2){
return mModel2.get(groupPosition2);
}
@Override
public int getGroupCount(){
return mModel.size();
}
public int getGroupCount2(){
return mModel2.size();
}
@Override
public long getGroupId(int groupPosition){
return groupPosition;
}
public long getGroupId2(int groupPosition2){
return groupPosition2;
}
@Override
public View getGroupView(int groupPosition, boolean isLastChild, View view, ViewGroup parent){
SampleModel model = (SampleModel)getGroup(groupPosition);
if(view==null){
LayoutInflater inflater = (LayoutInflater)mContext.getSystemService(mContext.LAYOUT_INFLATER_SERVICE);
view = inflater.inflate(R.layout.group_item, null);
}
TextView txtContinent = (TextView)view.findViewById(R.id.txtContinent);
txtContinent.setText(model.getData());
return view;
}
public View getGroupView2(int groupPosition2, boolean isLastChild2, View view2, ViewGroup parent2){
SampleModel model2 = (SampleModel)getGroup2(groupPosition2);
if(view2==null){
LayoutInflater inflater2 = (LayoutInflater)mContext2.getSystemService(mContext.LAYOUT_INFLATER_SERVICE);
view2 = inflater2.inflate(R.layout.group_item, null);
}
//setTExt2 오류
TextView txtContinent = (TextView)view2.findViewById(R.id.txtContinent);
txtContinent.setText(model2.getData());
return view2;
}
@Override
public boolean hasStableIds(){
return true;
}
public boolean hasStableIds2(){
return true;
}
@Override
public boolean isChildSelectable(int arg0, int arg1) {
return true;
}
public boolean isChildSelectable2(int arg02, int arg12) {
return true;
}
}
간단한 프로젝트인데 오류가 나서 못하고 있습니다.
TextView와 RadioButton이 들어간 프로젝트인데요....
위쪽의 ExpandableListView는 누르면 하위 목록들이 슉 나오는데
밑쪽의 것은 누르면 어플이 중지되었습니다 라면서 꺼집니다ㅠ.ㅠ... 도와주세요!
아무래도 어댑터 쪽의 코드오류인것같습니다ㅠㅠ

이렇게 위에 것은 되는데 밑이 안됩니다.