android listview 树形列表
时间: 2023-09-14 19:12:11 浏览: 176
在 Android 中,可以通过 ListView 实现树形列表的效果。这里提供一种基于 ExpandableListView 的实现方式:
1. 创建一个 ExpandableListView 控件。
2. 创建一个继承自 BaseExpandableListAdapter 的自定义适配器。
3. 在适配器中实现以下方法:
- getGroupCount():返回一级列表项的数量。
- getChildrenCount():返回二级列表项的数量。
- getGroup():返回一级列表项的数据。
- getChild():返回二级列表项的数据。
- getGroupView():返回一级列表项的视图。
- getChildView():返回二级列表项的视图。
4. 在主 Activity 中设置适配器:
```java
ExpandableListView listView = findViewById(R.id.list_view);
MyExpandableListAdapter adapter = new MyExpandableListAdapter(this, groupData, childData);
listView.setAdapter(adapter);
```
其中,groupData 和 childData 是一级和二级列表项的数据。
5. 设置 ExpandableListView 的监听器,实现列表项的展开和收起:
```java
listView.setOnGroupExpandListener(new ExpandableListView.OnGroupExpandListener() {
@Override
public void onGroupExpand(int groupPosition) {
// 当一级列表项展开时
}
});
listView.setOnGroupCollapseListener(new ExpandableListView.OnGroupCollapseListener() {
@Override
public void onGroupCollapse(int groupPosition) {
// 当一级列表项收起时
}
});
```
通过上述步骤,就可以实现一个基于 ExpandableListView 的树形列表。
阅读全文