是弄成集合还是数组,适配器里面怎么弄,弄成集合的话。
思路乱的不行啊。
public class ExpandableAdapter extends BaseExpandableListAdapter{
private LinkedList<TeacherSumGroupsModel> groupArray;
private List<LinkedList<TeacherSumGroupDetailModel>> childArray;
private Context context;
private LayoutInflater inflater;
public ExpandableAdapter(Context context,LinkedList<TeacherSumGroupsModel> courseGroupList,
List<LinkedList<TeacherSumGroupDetailModel>> childArray){
inflater = ((Activity) context).getLayoutInflater();
this.groupArray = courseGroupList;
this.childArray = childArray;
}
public int getGroupCount() {
// TODO Auto-generated method stub
return groupArray.size();
}
public int getChildrenCount(int groupPosition) {
// TODO Auto-generated method stub
return childArray.get(groupPosition).size();
}
public Object getGroup(int groupPosition) {
// TODO Auto-generated method stub
return groupArray.get(groupPosition);
}
public Object getChild(int groupPosition, int childPosition) {
// TODO Auto-generated method stub
return childArray.get(groupPosition).get(childPosition);
}
public long getGroupId(int groupPosition) {
// TODO Auto-generated method stub
return groupPosition;
}
public long getChildId(int groupPosition, int childPosition) {
// TODO Auto-generated method stub
return childPosition;
}
public boolean hasStableIds() {
// TODO Auto-generated method stub
return false;
}
public View getGroupView(int groupPosition, boolean isExpanded,
View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
TextView title;
if(convertView == null){
convertView = inflater.inflate(R.layout.simple_listview_item, parent, false);
}
title = (TextView) convertView.findViewById(R.id.simple_listview_textview);
String t = " "+groupArray.get(groupPosition).getname();
title.setText(t);
return convertView;
}
public View getChildView(int groupPosition, int childPosition,
boolean isLastChild, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
TextView title;
if(convertView == null){
convertView = inflater.inflate(R.layout.simple_listview_item, parent, false);
}
title = (TextView) convertView.findViewById(R.id.simple_listview_textview);
String account = childArray.get(groupPosition).get(childPosition).getAccount();
String name = childArray.get(groupPosition).get(childPosition).getName();
String t = account +" "+name;
Log.e("sumlist", "info is " +t);
title.setText(t);
return convertView;
}
public boolean isChildSelectable(int groupPosition, int childPosition) {
// TODO Auto-generated method stub
return true;
}
}
XML定义好ExpandableListView之后
首先你要自定义好你自己的视图适配器继承自BaseExpandableListAdapter
然后重写里面的方法:
public View getChildView(int groupPosition, final int childPosition, boolean isLastChild, View convertView,
ViewGroup parent) {
final Object obj = getChild(groupPosition, childPosition);
// 处理,你可以绑定多个数据源的,
}