【发布时间】:2019-12-23 11:02:01
【问题描述】:
假设我有三个片段,A、B、C;
A -> B C
B 和 C 之间是循环关系。 B 或 C 片段都需要arguments,例如
val args = Bundle()
args.putString("StringKeyBC", argValueBtoC)
findNavController().navigate(R.id.action_fragmentB_to_fragmentC, args, null)
args.putString("StringKeyCB", argValueCtoB)
findNavController().navigate(R.id.action_fragmentC_to_fragmentB, args, null)
问题是每次我在 B 和 C 之间移动时,片段都会被添加到后堆栈中,我不希望这样。如果片段已经返回堆栈,我只想弹出它,但如果我使用popBackStack,我就不能再添加参数了:
public boolean popBackStack(@IdRes int destinationId, boolean inclusive)
那么,我怎样才能在两个片段之间不断切换而不每次都将它们添加到后台堆栈?
【问题讨论】:
标签: android android-fragments kotlin navigation android-architecture-navigation