public class Rice1 extends Fragment {
ExpandableListView listMain;
private ArrayList<String> arrayGroup = new ArrayList<String>();
private HashMap<String, ArrayList<String>> arrayChild = new HashMap<String, ArrayList<String>>();
private View inf;
// protected void onCreate(Bundle savedInstanceState) {
// super.onCreate(savedInstanceState);
// setContentView(R.layout.rice1activity);
//
// listMain = (ExpandableListView)findViewById(R.id.expandableListView1);
// setArrayData();
//
// listMain.setAdapter(new Adptmain(this, arrayGroup, arrayChild));
// }
public Rice1() {
}
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
inf = inflater.inflate(R.layout.rice1activity,container,false);
listMain = (ExpandableListView) inf.findViewById(R.id.expandableListView1);
setArrayData();
listMain.setAdapter(new Adptmain(getActivity(), arrayGroup, arrayChild));
// return inflater.inflate(R.layout.rice1activity, container, false);
return inf;
}
private void setArrayData(){
arrayGroup.add("피자");
arrayGroup.add("치킨");
arrayGroup.add("중국집");
ArrayList<String> arrayPizza = new ArrayList<String>();
arrayPizza.add("치즈");
arrayPizza.add("고구마");
arrayPizza.add("비싼거");
ArrayList<String> arrayChicken = new ArrayList<String>();
arrayChicken.add("후라이드");
arrayChicken.add("양념");
arrayChicken.add("반반");
ArrayList<String> arrayChines = new ArrayList<String>();
arrayChines.add("자장");
arrayChines.add("짬봉");
arrayChines.add("탕슈");
arrayChild.put(arrayGroup.get(0), arrayPizza);
arrayChild.put( arrayGroup.get(1),arrayChicken);
arrayChild.put( arrayGroup.get(2),arrayChines);
}
}
위가 메인소스코드이구
adptmain 소스는
public class Adptmain extends BaseExpandableListAdapter {
private Context context;
private ArrayList<String> arrayGroup;
private HashMap<String, ArrayList<String>> arrayChild;
public Adptmain(Context context, ArrayList<String> arrayGroup, HashMap<String, ArrayList<String>> arrayChild ){
super();
this.context = context;
this.arrayGroup = arrayGroup;
this.arrayChild = arrayChild;
}
public boolean hasStableIds(){
return false;
}
public boolean isChildSelectable(int groupPosition, int childPosition){
return true;
}
public int getGroupCount() {
return arrayGroup.size();
}
public int getChildrenCount(int groupPosition){
return arrayChild.get(arrayGroup.get(groupPosition)).size();
}
public Object getGroup(int groupPosition){
return arrayGroup.get(groupPosition);
}
public Object getChild(int groupPosition, int childPosition){
return arrayChild.get(arrayGroup.get(groupPosition)).get(childPosition);
}
public long getGroupId(int groupPosition){
return groupPosition;
}
public long getChildId(int groupPosition, int childPosition){
return childPosition;
}
public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent){
String groupName = arrayGroup.get(groupPosition);
View v = convertView;
if(v==null){
LayoutInflater inflater =(LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = (RelativeLayout)inflater.inflate(R.layout.rice1group,null);
}
TextView textGroup = (TextView)v.findViewById(R.id.textGroup);
textGroup.setText(groupName);
return v;
}
public View getChildView(int groupPosition, int childPosition, boolean isLastChild, View convertView, ViewGroup parent){
String childName = arrayChild.get(arrayGroup.get(groupPosition)).get(childPosition);
View v = convertView;
if(v==null){
LayoutInflater inflater =(LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = (RelativeLayout)inflater.inflate(R.layout.rice1child,null);
}
TextView textChild = (TextView)v.findViewById(R.id.textChild);
textChild.setText(childName);
return v;
}
소스입니다.. mainlayout,listgroup,listchild 레이아웃이 각각잇습니다.
실행을하게되면
(expandablelistview)에 없는 imageview는 표기가되고 textview는 표기가안되는데... 이유가뭘까요?ㅜㅜ
이게 안드로이드스튜디오 에서 보이는것인데.. 뒤에 배경이
검정색으로나오는것도 이상하구.. 저렇게표기가되야되는데 안되네요 ㅜㅜ