android ExpandableListView 展开收起代码
时间: 2023-12-14 17:03:14 浏览: 199
在 Android 中,使用 ExpandableListView 展开和收起操作可以通过设置 OnGroupClickListener 和 OnChildClickListener 来实现。具体步骤如下:
1. 设置 OnGroupClickListener,当用户点击组视图时触发,可以在其中实现展开和收起操作。
```java
expandableListView.setOnGroupClickListener(new ExpandableListView.OnGroupClickListener() {
@Override
public boolean onGroupClick(ExpandableListView parent, View v, int groupPosition, long id) {
if (parent.isGroupExpanded(groupPosition)) {
parent.collapseGroup(groupPosition); // 收起
} else {
parent.expandGroup(groupPosition); // 展开
}
return true;
}
});
```
2. 设置 OnChildClickListener,当用户点击子项视图时触发,可以在其中实现相应的操作。
```java
expandableListView.setOnChildClickListener(new ExpandableListView.OnChildClickListener() {
@Override
public boolean onChildClick(ExpandableListView parent, View v, int groupPosition, int childPosition, long id) {
// 处理子项点击事件
return true;
}
});
```
在上述代码中,通过 isGroupExpanded 判断组是否展开,如果已经展开,则调用 collapseGroup 方法收起,否则调用 expandGroup 方法展开。
需要注意的是,在设置 OnGroupClickListener 时,需要返回 true,否则会继续触发默认的展开和收起操作。
在实际使用中,还需要根据数据源来判断组和子项的展开状态,以保持展开状态的一致性。
阅读全文