安卓ExpandableListView实现多组列表,类似于QQ分组

先直接上图,

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源代码。里面有注释。在我的资源里面有下载。稍后我会给出链接。




郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。