android使用BaseEpandableListAdapter实现可折叠的列表.docx
android:使用BaseExpandableListAdapter实现可折叠的列表
使用BaseExpandableListAdapter可以实现所谓的可折叠的列表,例如QQ里好友的分组的功能。
BaseExpandableListAdapter与BaseAdapter的基本原理是一样的,
只不过在传入list的时候,要传入两组,一组是groupArray,一组时
childArray,前者用于组名(类似QQ的好友、同学、朋友),后者的每个元素都是一组子数据(类似QQ同学中的张三,李四的集合),实现adapter
publicclassExpandableAdapterextendsBaseExpandableListAdapter{
privateLinkedListTeacherSumGroupsModelgroupArray;
privateListLinkedListTeacherSumGroupDetailModelchildArray;privateContextcontext;
privateLayoutInflaterinflater;
publicExpandableAdapter(Contextcontext,LinkedListTeacherSumGroupsModelcourseGroupList,
ListLinkedListTeacherSumGroupDetailModelchild
Array){
inflater=((Activity)context).getLayoutInflater();
this.groupArray=courseGroupList;this.childArray=childArray;
}
publicintgetGroupCount(){
//TODOAuto-generatedmethodstubreturngroupArray.size();
}
publicintgetChildrenCount(intgroupPosition){
//TODOAuto-generatedmethodstubreturnchildArray.get(groupPosition).size();
}
publicObjectgetGroup(intgroupPosition){
//TODOAuto-generatedmethodstubreturngroupArray.get(groupPosition);
}
publicObjectgetChild(intgroupPosition,intchildPosition){
//TODOAuto-generatedmethodstubreturnchildArray.get(groupPosition).get(childPosition);
}
publiclonggetGroupId(intgroupPosition){
//TODOAuto-generatedmethodstubreturngroupPosition;
}
publiclonggetChildId(intgroupPosition,intchildPosition){
//TODOAuto-generatedmethodstubreturnchildPosition;
}
publicbooleanhasStableIds(){
//TODOAuto-generatedmethodstubreturnfalse;
}
publicViewgetGroupView(intgroupPosition,booleanisExpanded,ViewconvertView,ViewGroupparent){
//TODOAuto-generatedmethodstubTextViewtitle;
if(convertView==null){
convertView=inflater.inflate(R.layout.simple_listview_item,parent,false);
}
title=(TextView)convertView.findViewById(R.id.simple_listview_textview);
Stringt= +groupArray.get(groupPosition).getname
();
title.setText(t);returnconvertView;
}
publicViewgetChildView(int