gpt4 book ai didi

java - 将数据添加到 TreeView 列表

转载 作者:行者123 更新时间:2023-12-02 07:02:56 30 4
gpt4 key购买 nike

我已经开始使用 TreeView 列表来显示我的数据。 TreeView 列表可以在这里找到:

http://code.google.com/p/tree-view-list-android/

向 TreeView 行添加文本的代码是这样的:

private String getDescription(final long id) {
final Integer[] hierarchy = getManager().getHierarchyDescription(id);
return "Node " + id + Arrays.asList(hierarchy);

}

在 SimpleStandardAdapter.java 文件中。演示中显示的数据基于行 ID,而不是 TreeView 外部的任何数据。

如何为 TreeView 外部的树行添加文本?​​

例如,在运行时填充的数据数组。

最佳答案

适配器(几乎与任何其他适配器一样)根据模型提供的数据构建 View 。 AbstractTreeViewAdapter 的编写方式是为包装 View 提供实现 - 因此它将创建一个新的 subview (抽象 getNewChildView)或重用一个 subview (updateView) - 然后将其作为 subview 添加到单元格项目中右填充/边距等(这提供了在树中自动缩进)。

因此,每当您需要以自己的方式将某些内容显示为树单元时,您应该构建自己的适配器(您可以扩展 SimpleStandardAdapter 或以与 SimpleStandardAdapter 类似的方式从头开始构建自己的适配器,并返回您需要的适当 View 想要显示为 getNewChildView 和 updateView 方法的结果。

这两种方法都将 TreeNodeInfo 作为参数,因此您可以确定要渲染树的哪个节点。不幸的是,该类型是不可更改的,我一开始尝试制定一个通用解决方案,您将能够使用任何对象类型,但失败了,而且它必须是 Long 。也许应该对其进行更改以反射(reflect)这一点。

因此,您将从 TreeNodeInfo 获取用于标识节点的 Long id,使用它的最佳方法是使用 Long 值作为某个 Map 的索引,您将在其中保留对节点对象的引用知道要渲染哪些数据的方法。

希望对您有所帮助。

关于java - 将数据添加到 TreeView 列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16417298/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com