【问题标题】:Android - best way to represent and traverse data in a tree structureAndroid - 在树结构中表示和遍历数据的最佳方式
【发布时间】:2011-02-22 14:56:23
【问题描述】:

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

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

Parent 为空时,它是顶级或根对象。并非所有对象都有子对象。我们对站点可以向下的层数没有限制。我们的应用程序设计为将用户和其他数据绑定到特定站点,无论它是树中任何位置的根节点还是子节点。出于这个原因,我必须知道用户正在使用的站点才能提取正确的数据。

我的问题是允许用户遍历这棵树的最佳方式是什么?有很多节点,因此不需要返回所有内容。我现在不是返回模型对象中的所有子对象,而是简单地返回一个布尔值,指出站点是否有子对象。然后,当用户单击该选项时,我的计划是获取该节点的子节点,并显示它们以供选择。

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

【问题讨论】:

    标签: android listview menu tree android-listview


    【解决方案1】:

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

    我看到的与您描述的结构类似的结构会列出当前查看节点的父节点(直到根节点)和子节点。如果您提供有关如何使用这棵树的遍历的更多信息,我可以尝试进一步帮助您。

    此外,上述方法仅在它们没有循环时才有效。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多