2015-03-13 180 views
2

我正在尝试创建可扩展列表视图。其中有菜单 - 子菜单和子菜单子菜单的格式,然后是项目。也很少有菜单没有子菜单。Android中的可扩展列表视图

所有这一切都在导航抽屉(侧面菜单)...

我reffering到这样的事情:

enter image description here

的问题是:

  1. 我该怎么办实现这种设计?将可扩展列表视图帮助实现这一目标吗?

  2. 还有其他建议吗?

谢谢!

+1

http://www.androidhub4you.com/2014/07/android-multilevel-expandable-listview.html - 检查这...希望它有助于给你一些想法 – 2015-03-13 09:25:12

+0

我希望在抽屉式导航栏上实现这个功能吗? – TheDevMan 2015-03-13 09:32:31

+0

对于getchildview()中的可扩展适配器,您必须实现新的可扩展listvieew。 – 2015-03-13 09:46:08

回答

0

你需要做的是创建某种树数据结构并存储你的项目。

节点将是您的部分和子部分,同时生成实际数据。这将允许您跟踪每个项目的可见性状态(基本上如果它处于展开或收起的部分)

然后创建一个包含2个视图类型的适配器:CategoryItem。 它的getItemViewType方法应该返回Item类型为每个leafCategory为每个node。 其getCount应返回所有部分+小节+项目的总数。 其getView应根据其类型返回实际视图,但重要的是检查它是否包含在扩展(!和可见 - 您需要递归检查)部分,并相应地将它的visibility设置为要么是VISIBLE要么是GONE。 它的onItemClicked应该在节的展开和折叠之间切换其状态。一个Sections对象应该有一个方法可以告诉你它是否被扩展,如果它是可见的(如果父类是扩展的,或顶级,..)

对不起,没有代码在这里,这应该会帮助你得到一个想法,我急于写一些例子(它需要相当多的代码)