【问题标题】:can you put an expandable list within an expandable list你能把可扩展列表放在可扩展列表中吗
【发布时间】:2015-11-04 14:24:08
【问题描述】:

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

我正在制作一个食谱应用程序,并且我有三个相同类型的可扩展列表 - 维生素、矿物质和宏量营养素通过 android studio 的可扩展列表视图创建

是否可以将这三个可扩展列表放在名为营养的可扩展列表下,如果可以,您能否简要概述一下如何取悦。提前致谢

【问题讨论】:

标签: java android expandablelistview expandablelistadapter


【解决方案1】:

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

我之前尝试过,但结果并不好,我不记得确切的原因,但是当尝试在不同适配器内布局视图时,触摸侦听器和度量传递之间会出现冲突,但计算不正确.

您可以在网络上找到许多自定义 ExpandableList 试图做您想做的事情,但我发现它们也有类似的问题。

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

  • 只是一个常规的列表视图
  • 可见项目列表
  • 数据源的异步过滤器
  • 一些元数据来判断它是孩子还是组,展开或折叠等

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

因此,如果您愿意,可以尝试自己编写。

我为我写的 ExpandableList 写了一篇博文,理论上它确实可以进行无限级别的扩展。 NLevelExpandableListView

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-01
    • 1970-01-01
    • 2011-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-18
    • 2011-08-17
    相关资源
    最近更新 更多