Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/202.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 带标题的多级可扩展列表视图_Android_Expandablelistview - Fatal编程技术网

Android 带标题的多级可扩展列表视图

Android 带标题的多级可扩展列表视图,android,expandablelistview,Android,Expandablelistview,我正在尝试实现一个多级可扩展列表视图,其中的标题看起来很简单。在这里,在图片中,类别A和I只是标题,不可点击。展开的类别是类别B、G、H、J。展开时,它将如所示的类别B 我希望它是动态的。说动态,我的意思是,当我得到如下所示的Json时,它会自动膨胀上述视图,如上图所示 [ { "name": "Category A", "secondary_class": [ { "name": "Category B", "tertiary_class": [ {

我正在尝试实现一个多级可扩展列表视图,其中的标题看起来很简单。在这里,在图片中,类别A和I只是标题,不可点击。展开的类别是类别B、G、H、J。展开时,它将如所示的类别B

我希望它是动态的。说动态,我的意思是,当我得到如下所示的Json时,它会自动膨胀上述视图,如上图所示

[
{
"name": "Category A",
"secondary_class": [
  {
    "name": "Category B",
    "tertiary_class": [
      {
        "name": "Category C"
      },
      {
        "name": "Category D"
      },
      {
        "name": "Category E"
      },
      {
        "name": "Category F"
      }
    ]
  },
  {
    "name": "Category G",
    "tertiary_class": []
  },
  {
    "name": "Category H",
    "tertiary_class": []
  }
]
},
{
"name": "Category I",
"secondary_class": [
  {
    "name": "Category B",
    "tertiary_class": []
  },
  {
    "name": "Category J",
    "tertiary_class": []
  }
]
}
]

也欢迎有助于我实现这一目标的想法。如果没有,请让我参考必要的参考资料,因为我查阅了所有可能的参考资料,但找不到任何解决方案

好的,您应该定义一个java类、一个定制的recyclerview适配器、定制的布局适配器并使用它们,但是如何使用它们呢

java类结构应如下所示:

public class Categories{
    String name;
    ArrayList<Categories> subCategories;
}
public categoriesAdapter(ArrayList<Categories> categoriesList, Context context ,int level, ...)
最后,为最后一级创建另一个自定义recyclerview适配器,并像这样使用它

if(level==1)
    inner_recyclerview.setAdapter(new lastCategoriesAdapter(currentItem.subCategories,mContext,1)
并将单击事件分配给可单击布局,并根据级别检查布局中每个项目的可见性,
这是清楚的还是需要更多的描述

if(level==1)
    inner_recyclerview.setAdapter(new lastCategoriesAdapter(currentItem.subCategories,mContext,1)