你可以在可扩展列表中放置一个可扩展列表吗?

时间:2015-11-04 14:24:08

标签: java android expandablelistview expandablelistadapter

是否可以在可扩展列表中创建可扩展列表

我正在制作食谱应用程序,我有三个相同类型的可扩展列表 - 使用android studio

的expandablelistview创建的维生素,矿物质和宏观营养素

是否有可能将这三个可扩展列表放在名为营养的可扩展列表中,如果是这样,您可以简要介绍一下如何请求。提前谢谢

1 个答案:

答案 0 :(得分:0)

简短回答,是的,你可以,但你真的不应该。

我之前尝试过这个并没有很好地结束,我无法记住确切的原因,但是当尝试在不同的内部布局视图时触摸侦听器之间出现冲突适配器无法正确计算。

您可以找到许多自定义的ExpandableLists尝试在网络上执行您想要的操作,但我发现它们也有类似的问题。

我最终做的是构建我自己的可扩展列表视图。如果你检查Android的ExpandableListView和ExpandableListAdapter的源代码,你会发现它基本上是

  • 只是一个常规列表视图
  • 可见的项目列表
  • 数据源的异步过滤器
  • 一些元数据,用于判断其子项或组是否已扩展或崩溃等

因此,如果所有项目都已折叠,则可见列表仅包含“组项目”。 展开组项并触发异步过滤器,并使用展开的组项的“组项”和“子项”填充可见列表。 根据元数据,它将调用getGroupView或getChildView。

所以,如果你想要,你可以自己写一下。

我写了一篇关于我写的ExpandableList的博客文章,从理论上讲,它的扩展程度无限。 NLevelExpandableListView