定义flag记录列表状态
- int expandFlag = -1;//控制列表的展开
重写onGroupClick方法
- ExpandableListView listView = getExpandableListView();
- listView.setOnGroupClickListener(new OnGroupClickListener() {
- @Override
- public boolean onGroupClick(ExpandableListView listView, View v,
- int groupPosition, long id) {
- if (expandFlag == -1) {
- //展开被选的group
- listView.expandGroup(groupPosition);
- //设置被选中的group置于顶端
- listView.setSelectedGroup(groupPosition);
- expandFlag = groupPosition;
- } else if (expandFlag == groupPosition) {
- listView.collapseGroup(expandFlag);
- expandFlag = -1;
- } else {
- listView.collapseGroup(expandFlag);
- //展开被选的group
- listView.expandGroup(groupPosition);
- //设置被选中的group置于顶端
- listView.setSelectedGroup(groupPosition);
- expandFlag = groupPosition;
- }
- return true;
- }
- });
本文介绍了一种控制Android中ExpandableListView展开与折叠的方法。通过定义一个标志变量来跟踪当前展开的状态,并重写了onGroupClick方法,使得每次点击时能够根据当前的状态进行展开或折叠操作。
1613

被折叠的 条评论
为什么被折叠?



