java - 您可以将可扩展列表放入可扩展列表中吗

标签 java android expandablelistview expandablelistadapter

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

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

是否可以将这三个可扩展列表放在一个名为“营养”的可扩展列表下,如果可以,您能否简要概述一下具体方法。提前致谢

最佳答案

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

我之前尝试过这个,但结果并不好,我不记得确切的原因,但是当尝试在不同适配器内布局 View 时,触摸监听器和测量 channel 之间会出现冲突,无法正确计算。

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

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

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

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

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

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

关于java - 您可以将可扩展列表放入可扩展列表中吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33524319/

相关文章:

java - 如何在 Java 中发布

java - 如何查找另一个应用程序中字段的 Intent 键(尝试添加额外的联系信息但找不到该键)

java - 清除 GridView 中的所有选定项目

android - 为什么我不应该在 android 中使用 System.out.println()

android - 如何在可扩展 ListView android 中使用编辑文本作为搜索框?

android - 带有子搜索过滤器的自定义可扩展 ListView

java - 处理程序之前的函数 spring 3

java - 在Spring中将包含json属性的实体保存到ElasticSearch

Java cron4j 计划文件

Android线程 - 在执行所有其他线程之前执行一个线程