我想问一个关于处理带有层次结构的列表的正确方法的一般性问题。我现在这样做的方法是通过使用bundle调用相同的活动来处理下一个查询,这样我就可以深入查看列表。我想知道是否有更好的方法来处理像我这样的列表。我应该使用多种活动吗? (不知道列表的深度)或只是在用户选择列表项时重新查询我的数据。此解决方案的问题是记住所选的列表项和手机上的后退按钮。我确信我错过了一些明显的东西,但我是Android的新手。任何帮助或建议将不胜感激。所以这就是我现在所做的:
MainActivity
中显示带有根项目的列表。MainActivity
。MainActivity
中显示新列表。 此外,我的列表超过两级,所以我认为ExpandableListView
已经出局了。
答案 0 :(得分:2)
ExpandableListView
仅支持两个深度级别的原因之一是因为非常难以使n级树用户友好。如果他或她进入第5级,想象一下用户屏幕上的质量。
但是,不过,这是我要采取的方法。我还没有实现它,但这应该是可行的。
在顶部引入“导航栏”(如Windows资源管理器或某些网站):
Root>项目1> subitem 2> ......
使用`可扩展列表显示当前级别和下一级别。
ExpandbleListView
下一级别。她就是一个例子:
> Root
---------------
Item 1
Subitem 1
Subitem 2
Subitem 3
Item 2
Subitem 4
Subitem 5
Item 3
Subitem 6
用户点击Subitem 4
并看到:
> Root > Item 2
---------------
Subitem 4
SubSubItem 1
SubSubItem 2
SubSubItem 3
Subitem 5
SubSubItem 4
SubSubItem 5
这不是一件容易实现的事,但不应该太难。这样可以在一个Activity中进行导航,并使用高度优化的ExpandableListView
控件。您只需要实现自定义适配器。
答案 1 :(得分:1)
如果您的层次结构不深,只有2个级别,请使用ExpandableListView
。