[英]How to navigate to existing Fragment from BackStack?
我有一堆片段使用单个活动作为主机。
我的碎片是这样排列的,
Frag1 ->(按下一步)-> Frag2 ->(按下一步)-> Frag3 ->(按下一步)-> Frag4
在 Frag1 中,我有另一个按钮可以直接导航到 Frag4。
在 Frag4 中,如果我单击返回按钮,它当前将返回到 Frag1。 但在这里我希望它导航到 Frag3。
如果我正确地得到了你想要的,你可以在你的主机 xml 右侧的 Pop Behavior 中使用 popUpTo,你可以在其中连接片段并导航片段并将 popUpTo 设置为你想要的片段
或者
您可以使用此代码说明按下后退按钮时 go 的位置:
注意:您需要将它们粘贴到片段 class
requireActivity().onBackPressedDispatcher.addCallback(viewLifecycleOwner) {
add your navigation destonation or do whatever you want
}
你也有另一个选择。
您可以使用:
view?.findNavController().popBackStack()
最后但并非最不重要的是,如果您处于活动状态 class 我的意思不是片段,您可以使用它:
override fun onBackPressed() {
do what you need
if you leave this fun empty, back button would not work any more
}
我认为第二个选择是你的合适
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.