将数据添加到树视图列表中

时间:2013-05-07 10:57:06

标签: java android treeview

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

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

将文本添加到树视图行的代码是:

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

}
SimpleStandardAdapter.java文件中的

。演示中显示的数据基于行id,而不是树视图外部的任何内容。

我如何为树视图外部树的一行添加文本?​​

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

1 个答案:

答案 0 :(得分:2)

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

因此,每当您需要以自己的方式显示某个树状单元格时,您应该构建自己的适配器(您可以扩展SimpleStandardAdapter或从头开始构建自己的适配器,类似于SimpleStandardAdapter并返回适当的视图想要显示getNewChildView和updateView方法的结果。

两种方法都将TreeNodeInfo treeNodeInfo作为参数,因此您可以确定要渲染的树的哪个节点。类型是 - 不幸的是 - 不可更改,我在开始时尝试制作一个通用的解决方案,你可以使用任何对象类型,但失败了,它必须是长的。可能应该改变以反映这一点。

因此,您将从TreeNodeInfo获取将识别节点的Long id,并且使用它的最佳方式是使用Long值作为某些Map的索引,您将在该Map中继续引用节点的对象和此知道要渲染哪些数据的方法。

我希望它有所帮助。