当我使用新的导航组件从一个片段导航到另一个片段时,可以通过以下方式成功实现:
那个启动Fragment再次创建了自己,但是状态没有被保存。我一直在寻找如何修复它的方法,但我不确定如何使用Navigation组件中的navigate()函数来进行add操作。请注意保留HTML标签。 这个gif展示了从一个片段到另一个片段的导航,当从目标片段弹出堆栈时,它会重新创建启动该片段的片段而不是保存其状态。
使用
有没有办法在导航组件中做同样的事情?
我也阅读了Navigation Architecture Fragment Reload Problem,但不清楚应该如何解决。
btn_walk.setOnClickListener(Navigation.createNavigateOnClickListener(R.id.next_action))
现在,如果我从目标片段弹出后退栈:
findNavController().popBackStack()
那个启动Fragment再次创建了自己,但是状态没有被保存。我一直在寻找如何修复它的方法,但我不确定如何使用Navigation组件中的navigate()函数来进行add操作。请注意保留HTML标签。 这个gif展示了从一个片段到另一个片段的导航,当从目标片段弹出堆栈时,它会重新创建启动该片段的片段而不是保存其状态。
使用
fragmenttransaction.add()
方法可以维持该片段的实例,即使我弹出了后退栈。有没有办法在导航组件中做同样的事情?
我也阅读了Navigation Architecture Fragment Reload Problem,但不清楚应该如何解决。