我正在编写一个Android应用程序,当用户点击导航抽屉上的项目时,会启动一个新片段来处理与点击相对应的用例。
一个片段有几个入口或触发点。 例如:职位清单显示在各种选项下;最近的帖子列表,热门帖子列表,类别帖子列表。 从这些片段中,当用户点击帖子时;所选帖子已打开。
现在,我需要点击此处“后退”按钮。截至目前,单击后退退出应用程序。如果我在片段期间添加"addToBackStack"
次呼叫;它不能以所需的方式运作,并且不能保持遍历历史。
如果需要,我可以发布代码片段但是现在我想知道我错在哪里以及我可以尝试的解决方案是什么。期待与此相关的核心理念。
添加了代码段:
fragmentTransaction.addToBackStack("home");
fragmentTransaction.replace(R.id.container_body, fragment);
答案 0 :(得分:0)
实施onBackPressed
活动方法解决了问题
我在全局Stack
中跟踪导航,然后根据app用户完成的导航处理堆栈并调用特定的片段/活动。
片段的自定义历史记录和反向跟踪对我来说是最好的选择。
我认为它最有效,特别是当应用程序中有多个其他片段存在多个入口点时。