如何在树视图中保存最近的访问数据

时间:2016-01-06 09:33:53

标签: android

我在Android上没有多少经验(抱歉我的英语不好)。我很惊讶在树视图中保存最近的访问数据。

这是我访问数据时的过程示例:enter image description here

Activity1有两个标签:页面最近。当我在Tab Pages 上单击一个节点(文件夹A)时,它将在另一个Activity上显示该节点的所有子节点,依此类推。

我想在标签最近中显示最近的访问路线,如下所示: 文件夹A - >文件夹A3 - >文件夹A3.3 - > ... - >文件夹 。我怎么能这样做?

我使用了 startActivityForResult 但结果仅在上一个活动完成时才响应。 我还使用 SharedPreference 来保存该访问路线,但这种方式看起来不那么好,并且在最近选项卡中更新路线时需要重新加载。

请给我一些建议和想法,我必须做些什么方法?

非常感谢,感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

实际上你面临两个问题:

  1. 找到一种存储路径数据并在活动之间共享的方法。

  2. 在树形视图中显示所有数据,而无需重新加载最近标签

  3. 这是我的解决方案:

    1. 将所有数据保存在内存中。

      您可以使用Singleton类来保持数据共享逻辑。

      class Singleton {
          ...
          public TreeNode mTopRootNode;
          public getTopRootNode() {
             if(topRootNode == null) {
                 mTopRootNode = TreeNode.root();
             }
             return mTopRootNode;
          }
          ...
      }
      
    2. 使用此AndroidTreeView Library

    3. 当用户导航到标签页时创建根节点:

      TreeNode child = new TreeNode("Tab");
      Singleton.getInstance().getTopRootNode().addChild(child);
      
    4. 当用户导航到其他节点时添加一个节点,让我们说ActivityA:

      TreeNode parent = traversalTheTreeAndFindParentByName(ActivityA);
      
      TreeNode child = new TreeNode("ActivityA");
      
      parent.addChild(child);
      
    5. 当用户导航回最近的标签

      覆盖标签最近活动/片段的onResume。在onResume期间获取树的顶部根节点,然后遍历树并显示它。

相关问题