我陷入了按以下方式使用片段的情况:
活动 -> 片段 A -> 片段 B -> 片段 C -> 对话框片段
当用户单击 DialogFragment 中的按钮并将其关闭时,我需要立即转到片段 A。所有这些片段都是使用 .add 方法完成的。
我期待一个非常优化且简单的逻辑,Android 默认提供该逻辑,而不是定制的复杂逻辑。
您可以使用导航图轻松地在片段之间导航。但看来你是个初学者。因此,您可以按如下方式进行:
在您正在使用的对话框的 onClick 中使用以下代码
val count = parentFragmentManager.backStackEntryCount
for (i in 1..count){
if (count>1){
parentFragmentManager.popBackStack()
}
}
注意代码是用 Kotlin 编写的。如果您想要 Java 版本,请告诉我。
感谢您的帮助,我也遇到过这样的解决方案,请您告诉我,哪个是更好的解决方案
就在关闭dialogFragment之前,我调用了一个在父活动中实现的接口。在活动中,我弹出后退栈直到片段 B(包括)
override fun onPopupClose() {
supportFragmentManager.popBackStackImmediate(LoginFragment.TAG,FragmentManager.POP_BACK_STACK_INCLUSIVE)
}