我试图将孩子放在标题顶部的expandableListView中,这样当用户点击某个项目时,子项就显示在它上面而不是它下面。
知道怎么可能吗?
提前感谢。
答案 0 :(得分:1)
看看这堂课:
platform_frameworks_base/ExpandableListConnector.java at master · android/platform_frameworks_base
这是一个包私有类,因此您无法直接使用它,但您可以检查它以查看它是如何工作的。
事实证明ExpandableListView
实际上是ListView
,其中适配器的包装方式是将组和子项“展平”为单个一维列表。 ExpandableListConnector
是将群组和子项映射到其展平位置的类。
通过使用带有自定义适配器的直接ListView
,您也可以执行相同的操作。在您展平列表的情况下,不要将子视图置于组视图下方,而是将子视图放在组视图上。
所以BaseExpandableListAdapter
命令如下:
group1 0
child1 1
child2 2
您可以按照以下顺序创建适配器:
child1 0
child2 1
group1 2
此外,当用户展开并折叠组时,您需要更新适配器状态以将子项添加/删除到列表中并重新计算所有展平位置。
答案 1 :(得分:0)
使用Android的ExpandableListView类是不可能的。您必须创建一个可以执行此操作的自定义类。