Android - 在树结构中表示和遍历数据的最佳方式

时间:2011-02-22 14:56:23

标签: android listview menu tree android-listview

我有一个对象,可以是其他对象的父对象。它是客户的代表。看起来像这样

public class Site
{
    public int SiteId;
    public List<Site> Children;
    public Site Parent;
}

Parent为null时,它是顶级或根对象。并非所有物品都有孩子。我们对网站的下限数量没有限制。我们的应用程序旨在将用户和其他数据绑定到特定站点,无论它是树中任何位置的根节点还是子节点。出于这个原因,我必须知道用户正在使用的网站以撤回正确的数据。

我的问题是允许用户遍历此树的最佳方法是什么?有很多节点,所以返回一切都不是理想的。而不是立即返回我的模型对象中的所有子项,而是简单地返回一个布尔值,注意该站点是否有子项。然后,当用户点击该选项时,我的计划是获取该节点的子节点,并显示它们以供选择。

我正在考虑以与大多数设置菜单类似的方式使用ListView,如果它们是选项,则会显示箭头。我也看了Menu,但我不确定最好的方法。

1 个答案:

答案 0 :(得分:0)

树的遍历基本上归结为深度优先或广度优先搜索。但是,根据您对应用的描述,这可能不是最佳方法。

我看到的类似于你所描述的结构的一件事将列出父母(直到根)和当前观察节点的子节点。如果您提供有关如何使用此树的遍历的更多信息,我可以尝试进一步帮助您。

此外,只有在没有循环的情况下,上述方法才有效。