你能把一个可扩展列表放在一个可扩展列表中吗
can you put an expandable list within an expandable list
是否可以在可扩展列表中创建可扩展列表
我正在制作一个食谱应用程序,我有三个相同类型的可扩展列表 - 维生素、矿物质和常量营养素,使用 android studio
的 expandablelistview 创建
是否可以将这三个可扩展列表放在一个名为营养的可扩展列表下?如果可以,您能否简要概述一下如何做。提前致谢
简短的回答,是的,你可以,但你真的不应该。
我以前试过这个但结果并不好,我不记得确切的原因,但是当尝试在不同的适配器中布局视图时,触摸侦听器和测量通过之间会发生冲突计算正确。
您可以在网络上找到许多自定义的 ExpandableLists 试图做您想要的,但我发现它们也有类似的问题。
我最终做的是构建我自己的可扩展列表视图。如果您检查 Android 的 ExpandableListView 和 ExpandableListAdapter 的源代码,您会发现它基本上是
- 只是一个普通的列表视图
- 可见项目列表
- 数据源的异步过滤器
- 一些元数据来判断它是 child 还是组,展开还是折叠等等
因此,如果您的所有项目都已折叠,则可见列表仅包含组项目。
展开一个组项,异步过滤器被触发,并用组项和展开组项的 Children 填充可见列表。
根据元数据,它将调用 getGroupView 或 getChildView。
因此,如果您愿意,可以尝试自己编写。
我为我写的 ExpandableList 写了一篇博客 post,理论上它可以无限扩展。 NLevelExpandableListView
是否可以在可扩展列表中创建可扩展列表
我正在制作一个食谱应用程序,我有三个相同类型的可扩展列表 - 维生素、矿物质和常量营养素,使用 android studio
的 expandablelistview 创建是否可以将这三个可扩展列表放在一个名为营养的可扩展列表下?如果可以,您能否简要概述一下如何做。提前致谢
简短的回答,是的,你可以,但你真的不应该。
我以前试过这个但结果并不好,我不记得确切的原因,但是当尝试在不同的适配器中布局视图时,触摸侦听器和测量通过之间会发生冲突计算正确。
您可以在网络上找到许多自定义的 ExpandableLists 试图做您想要的,但我发现它们也有类似的问题。
我最终做的是构建我自己的可扩展列表视图。如果您检查 Android 的 ExpandableListView 和 ExpandableListAdapter 的源代码,您会发现它基本上是
- 只是一个普通的列表视图
- 可见项目列表
- 数据源的异步过滤器
- 一些元数据来判断它是 child 还是组,展开还是折叠等等
因此,如果您的所有项目都已折叠,则可见列表仅包含组项目。 展开一个组项,异步过滤器被触发,并用组项和展开组项的 Children 填充可见列表。 根据元数据,它将调用 getGroupView 或 getChildView。
因此,如果您愿意,可以尝试自己编写。
我为我写的 ExpandableList 写了一篇博客 post,理论上它可以无限扩展。 NLevelExpandableListView