我正在开发一个 Android 项目,我需要使用 ExpandableListView 实现层次结构。目前,我已经实现了两级层次结构:工厂→设备。现在,我想扩展此层次结构以包含其他级别,如下所示:” 工厂→部门→生产线→设备
我想扩展当前的层次结构以支持四个级别:工厂→部门→生产线→设备。这是层次结构的样子
Plant1
└── Department1-Section1
├── Line1
│ ├── Device1
│ └── Device2
└── Line2
├── Device3
└── Device4
└── Department2-Section2
├── Line3
├── Device5
└── Device6
我不确定如何构建数据并创建可以处理这个四级层次结构的自定义适配器。由于 ExpandableListView 本身仅支持两个级别(Group 和 Child),
我需要指导如何:
我已经考虑过使用多个 ExpandableListView 或在子视图中嵌入 RecyclerView 以实现其他级别,但我不确定性能和可扩展性的最佳方法。我还无法集成三个附加级别(部门-部门、线路和设备)
数据结构:
为了表示四级层次结构,我们可以使用像自定义类一样的递归数据结构
public class HierarchicalItem {
private String title;
private boolean isExpanded;
private List<HierarchicalItem> children;
public HierarchicalItem(String title){
this .title=title;
this.isExpanded = false;
this.children =new Arraylist<>();
}
//getter ,setter
}
附加点:使用您的层次结构数据填充 rootItems 列表。