【问题标题】:Android : Handle Navigation History For FragmentsAndroid:处理片段的导航历史
【发布时间】:2015-08-18 14:30:00
【问题描述】:

我正在编写一个 android 应用程序,当用户单击导航抽屉上的项目时,会启动一个新片段来处理与单击相关的用例。

一个片段有多个入口或触发点。 例如:帖子列表显示在各种选项下;最近的帖子列表,热门帖子列表,类别帖子列表。 从这些片段中,当用户点击帖子时;所选帖子已打开。

现在,我需要处理“返回”按钮点击这里。截至目前,单击返回退出应用程序。如果我在片段期间添加"addToBackStack" 调用;它没有以所需的方式运行,并且没有维护遍历历史记录。

如果需要,我可以发布代码 sn-ps,但现在我想知道我错在哪里以及我可以尝试的解决方案是什么。期待与这里相关的核心概念。

添加代码片段:
fragmentTransaction.addToBackStack("home");
fragmentTransaction.replace(R.id.container_body, fragment);

【问题讨论】:

  • 您使用的是.add 还是.replace?可以贴一下分片交易代码吗?
  • 更新的初始帖子

标签: android android-fragments navigation fragment history


【解决方案1】:

实施onBackPressed 活动方法解决了这个问题。
我在全局 Stack 中跟踪导航,然后根据应用用户完成的导航处理堆栈并调用特定的片段/活动。
片段的自定义历史记录和回溯跟踪对我来说是最好的选择。
我认为它最有效,尤其是当应用程序中的一个片段有多个入口点时。

【讨论】:

    猜你喜欢
    • 2013-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-02
    相关资源
    最近更新 更多