先直接上图,
1:、展开的效果图:
2:后面的是点击收缩的效果图。
3:下面就是代码部分:
我们要定义2个集合用来存储数据,一个是groupItem的数据,一个是childItem的数据
private List<Map<String, Object>> groupList = new ArrayList<Map<String, Object>>();// 分组名称
public List<List<Map<String, Object>>> childList = new ArrayList<List<Map<String, Object>>>();// 详细名称
定义一个控件:
public ExpandableListView expandablelistview; // 2层列表
将我们获取到的数据填充到里面去:
adapter = new JingCaiZuQiuWinBeatLotteryAdapter(MainActivity.this, winBeatLotteryMain, groupList, childList);
expandablelistview.setAdapter(adapter);
expandablelistview.setGroupIndicator(null);// 去掉group控件默认的箭头
// 分组展开
expandablelistview.setOnGroupExpandListener(new OnGroupExpandListener() {
public void onGroupExpand(int groupPosition) {
// expandablelistview.expandGroup(groupPosition);
}
});
// 分组关闭
expandablelistview.setOnGroupCollapseListener(new OnGroupCollapseListener() {
public void onGroupCollapse(int groupPosition) {
// expandablelistview.collapseGroup(groupPosition);
}
});
// 子项单击
/*
* expandablelistview.setOnChildClickListener(new OnChildClickListener()
* { public boolean onChildClick(ExpandableListView arg0, View arg1, int
* groupPosition, int childPosition, long arg4) { return false; } });
*/
//全部展开,默认
int groupCount = expandablelistview.getCount();
for (int i = 0; i < groupCount; i++) {
expandablelistview.expandGroup(i);
}
其实很简单,在这里我附上我的一个小demo源代码。里面有注释。在我的资源里面有下载。稍后我会给出链接。
安卓ExpandableListView实现多组列表,类似于QQ分组
原文地址:http://blog.csdn.net/lengguoxing/article/details/42105303