【发布时间】:2015-04-02 18:16:25
【问题描述】:
是否可以在内容提供者的 getChildern() 方法中创建树视图?
我有一个树视图,它的 getElements() 方法显示一些来自该树中每个节点的枚举的节点我想要另一个树视图。因此,当用户展开一个根节点时,应该有另一个树视图。
谢谢
【问题讨论】:
是否可以在内容提供者的 getChildern() 方法中创建树视图?
我有一个树视图,它的 getElements() 方法显示一些来自该树中每个节点的枚举的节点我想要另一个树视图。因此,当用户展开一个根节点时,应该有另一个树视图。
谢谢
【问题讨论】:
不,您不能嵌套树查看器。您必须为代表整棵树的树使用数据模型。
假设您有一个类 TopLevelElement 代表树中的一个顶级元素,而类 Level1Element 和 Level2Element 代表第一级和第二级子级。那么您的内容提供者方法将类似于:
@Override
public Object [] getElements(Object inputElement)
{
return array of TopLevelElements object;
}
@Override
public Object [] getChildren(Object parentElement)
{
if (parentElement instanceof TopLevelElement)
{
return array of Level1Element children of the top level element
}
else if (parentElement instanceof Level1Element)
{
return array of Level2Element children of Level1Element
}
else if (parentElement instanceof Level2Element)
{
... return any level 3 elements
}
return new Object[0]; // Unknown tree element
}
【讨论】: