案头见蠹鱼,犹胜凡俦侣。这篇文章主要讲述Android Treeview相关的知识,希望能为你提供帮助。
我知道有ExpandableListView但它只支持最多2个级别。我需要一个真正的树视图垂直列表,至少最多约5个级别(越多越好)。
有什么建议?
编辑:
我看到有关使用自定义适配器并根据项目级别设置填充的说明。
我有一个没有排序的ArrayList对象具有ID和父ID,我也动态地向这个数组添加项目。
谁能给我一些我可以这样做的例子?
答案我遇到过同样的问题。你可以查看我的实施AndroidTreeView。
- 它的N级树。
- 节点的自定义样式
- 旋转后保存状态
另一答案我首先要使数据结构更能代表它的含义。因为你有一个项目数组,每个子项都有自己的项目数组,每个项目都有自己的数组等。我考虑使用一个有两个成员的类:一个表示这个特定项目的数据的对象和一个数组持有物品的孩子。每个孩子本身就是班级的一个实例,因此它也可以生孩子。
private class ParentAndKids {Object parent; 阵列孩子; }
然后,您的适配器将具有一个ParentAndKids对象数组,表示顶层。您可以根据扩展的父项添加和删除列表项。
另一答案我们公司也为此开放了解决方案。它作为库提供,因此非常易于使用:http://code.google.com/p/tree-view-list-android/
另一答案我为我解决了这个问题,发表了类似的帖子:other thread
另一答案回答我自己的问题,因为我们在几个月前实施了这个问题。
qazxsw poi在一个开源项目中。
另一答案我找到了一个更容易解决这个问题的方法,因为我自己在编码技巧方面有点中间。在我的情况下,我需要一个以Windows为主题的树视图,在集思广益之后,我几乎无需任何编码即可实现!
这里的诀窍是:使用WebView和嵌入式html页面显示自定义树视图,并使用android的超级便捷javascript通信接口来接收选择和点击:Our implementation
借助这种功能,我们可以利用Web上的大量JS / CSS控制片段。 Proof of Concept Example on Android-er Blog
很多可能性和功能与Android在那里,快乐的编码!
另一答案我发现下面的链接非常非常有用。它描述了在二维数据结构(通常是数据库表)中存储树结构的替代方法。
我想你会发现这个范例易于理解和实施。
Themeable Windows7-Style jQuery TreeView control -- jsTree
至于如何在Android中可视化这是另一个问题。如果“填充”列表项解决方案不够,我可能会从头开始编写自己的小部件。
另一答案我认为多级可扩展列表已经正确完成它实际上工作并且看起来很棒。这是http://mikehillyer.com/articles/managing-hierarchical-data-in-mysql/的另一个例子
另一答案我同意pjv,至少对于手机大小的设备。最好组织小部件以在ListView中一次显示一组兄弟姐妹。这可以在一个跟踪其在树中的位置的活动中完成。它可以显示带有面包屑的标题,显示当前显示的项目的父项的路径。
多级树视图可能适用于平板设备,但是手机没有足够的空间来支持建议的5个级别(一切都必须足够大以适应手指)。
【Android Treeview】但是,如果您在树视图上设置,请不要查看子类化ExpandableListView。它通过将父索引和子索引(每个int)打包成一个long来内部运行。这种内部表示使得几乎不可能超出2个级别。
另一答案
http://code.google.com/p/tree-view-list-android/
}
推荐阅读
- 如何使用devexpress加速treeview appendnode
- 前100万个网站的安全性,性能和WordPress分析
- 初学者网络安全基础知识简介
- 适用于初学者的SSL/TLS教程
- 如何在Apache Tomcat中实现SSL()
- 避免常见Web安全漏洞的4条提示
- 如何在WordPress中使用SUCURI以获得更好的性能和安全性()
- SHA-1安全漏洞扫描以及解决方法
- 测试”原始IP”漏洞以防止DDoS攻击