如何在Android中实现具有层次结构的多级ExpandableListView:工厂→部门&科→行→设备

问题描述 投票:0回答:1

我正在开发一个 Android 项目,我需要使用 ExpandableListView 实现层次结构。目前,我已经实现了两级层次结构:工厂→设备。现在,我想扩展此层次结构以包含其他级别,如下所示:” 工厂→部门→生产线→设备

我想扩展当前的层次结构以支持四个级别:工厂→部门→生产线→设备。这是层次结构的样子

Plant1
   └── Department1-Section1
       ├── Line1
       │   ├── Device1
       │   └── Device2
       └── Line2
           ├── Device3
           └── Device4
   └── Department2-Section2
       ├── Line3
           ├── Device5
           └── Device6

我不确定如何构建数据并创建可以处理这个四级层次结构的自定义适配器。由于 ExpandableListView 本身仅支持两个级别(Group 和 Child),

我需要指导如何:

  • 设计一个数据结构来表示这个层次结构。
  • 实现自定义适配器以在 ExpandableListView 中呈现此层次结构。
  • 在同一框架内处理嵌套级别,例如“部门-部门”和“行”。

我已经考虑过使用多个 ExpandableListView 或在子视图中嵌入 RecyclerView 以实现其他级别,但我不确定性能和可扩展性的最佳方法。我还无法集成三个附加级别(部门-部门、线路和设备)

java android listview expandablelistview
1个回答
0
投票

数据结构:

为了表示四级层次结构,我们可以使用像自定义类一样的递归数据结构

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 列表。

© www.soinside.com 2019 - 2024. All rights reserved.