我已经开始使用树视图列表来显示我的数据。树视图列表可以在这里找到:
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,而不是树视图外部的任何内容。
我如何为树视图外部树的一行添加文本?
例如,在运行时填充的数据数组。
答案 0 :(得分:2)
适配器(几乎与任何其他适配器一样)根据模型提供的数据构建视图。 AbstractTreeViewAdapter的编写方式是它为包装视图提供实现 - 因此它将创建一个新的子视图(抽象getNewChildView)或重用一个(updateView) - 然后将其作为子视图添加到单元格项目中右边填充/边距等(这提供了树中的自动缩进)。
因此,每当您需要以自己的方式显示某个树状单元格时,您应该构建自己的适配器(您可以扩展SimpleStandardAdapter或从头开始构建自己的适配器,类似于SimpleStandardAdapter并返回适当的视图想要显示getNewChildView和updateView方法的结果。
两种方法都将TreeNodeInfo treeNodeInfo作为参数,因此您可以确定要渲染的树的哪个节点。类型是 - 不幸的是 - 不可更改,我在开始时尝试制作一个通用的解决方案,你可以使用任何对象类型,但失败了,它必须是长的。可能应该改变以反映这一点。
因此,您将从TreeNodeInfo获取将识别节点的Long id,并且使用它的最佳方式是使用Long值作为某些Map的索引,您将在该Map中继续引用节点的对象和此知道要渲染哪些数据的方法。
我希望它有所帮助。