2011-04-12 56 views
3

我正在尝试编写多级树。我确实看过expandablelistview,但它只支持两个级别。我也看过其他问题(SO)&的帖子和我发现的最有希望的帖子是http://mylifewithandroid.blogspot.com/2011/02/3-level-expandable-lists.html多级别视图:expandablelistview

据我所知,我将不得不写一些自定义来处理多级树。 什么是最好的推荐方法? 我可以添加exapandablelistview作为一个exapanablelistview的孩子?

感谢

+0

找到了一个类似的链接http://techdroid.kbeanie.com/2010/09/expandablelistview-on-android.html#comment-form – jsp 2011-04-12 21:35:22

+1

也发现这个http://code.google.com/ p/tree-view-list-android/ – jsp 2011-04-13 20:31:24

+1

请参阅我的项目的链接,其中可以实现N级树列表视图.https://github.com/Jaldips/Android-MultilevelTreeListView – 2014-01-06 08:38:08

回答

1

可以实现N级ExpandableListView,如果你与你的自定义BaseExpandableListAdapter使用它。

在此扩展适配器,您覆盖

public View getGroupView(int groupPosition, boolean isExpanded, 
    View convertView, ViewGroup parent) 

法,BaseExpandableListAdapter实例分配到convertView,并将其返回。

如果您已覆盖适配器中的所有必要方法,则应该可以工作。

1

这是可能的,但它会使GUI结构太复杂,无法实现。

首先,您必须知道ExpandableListView呈现的物品由BaseExpandableListAdapter给出。您必须设计和实现与您的level-2项目相同数量的适配器,以便可以为每个level-2项目正确渲染级别3列表。

我建议你重新设计GUI。多级ExpandableListView不仅使代码复杂化,也可能弄乱屏幕。