是否可以在可扩展列表中创建可扩展列表
我正在制作一个食谱应用程序,并且我有三个相同类型的可扩展列表 - 维生素、矿物质和大量营养素,这些列表是使用 android studio 的可扩展 ListView 创建的
是否可以将这三个可扩展列表放在一个名为“营养”的可扩展列表下,如果可以,您能否简要概述一下具体方法。提前致谢
最佳答案
简短的回答,是的,你可以,但你真的不应该。
我之前尝试过这个,但结果并不好,我不记得确切的原因,但是当尝试在不同适配器内布局 View 时,触摸监听器和测量 channel 之间会出现冲突,无法正确计算。
您可以在网络上找到许多自定义 ExpandableList 尝试执行您想要的操作,但我发现它们也有类似的问题。
我最终做的是构建我自己的可扩展 ListView 。如果你检查Android的ExpandableListView和ExpandableListAdapter的源代码你会发现它基本上是
- 只是一个常规的 ListView
- 可见项目列表
- 数据源的异步过滤器
- 一些元数据来判断它是子项还是组、展开还是折叠等
因此,如果您的所有项目都折叠起来,则可见列表仅包含组项目。 展开组项目,异步过滤器将被触发,并使用组项目和展开的组项目的子项填充可见列表。 根据元数据,它将调用 getGroupView 或 getChildView。
因此,如果您愿意,可以尝试编写自己的内容。
我为 ExpandableList 写了一篇博客文章,理论上它可以进行无限级别的扩展。 NLevelExpandableListView
关于java - 您可以将可扩展列表放入可扩展列表中吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33524319/