如何在弹出窗口消失后立即弹出多个片段

问题描述 投票:0回答:2

我陷入了按以下方式使用片段的情况:

活动 -> 片段 A -> 片段 B -> 片段 C -> 对话框片段

当用户单击 DialogFragment 中的按钮并将其关闭时,我需要立即转到片段 A。所有这些片段都是使用 .add 方法完成的。

我期待一个非常优化且简单的逻辑,Android 默认提供该逻辑,而不是定制的复杂逻辑。

android kotlin android-fragments android-activity
2个回答
1
投票

您可以使用导航图轻松地在片段之间导航。但看来你是个初学者。因此,您可以按如下方式进行:

在您正在使用的对话框的 onClick 中使用以下代码

  val count = parentFragmentManager.backStackEntryCount
        for (i in 1..count){
            if (count>1){
                parentFragmentManager.popBackStack()
            }
        }

注意代码是用 Kotlin 编写的。如果您想要 Java 版本,请告诉我。


0
投票

感谢您的帮助,我也遇到过这样的解决方案,请您告诉我,哪个是更好的解决方案

就在关闭dialogFragment之前,我调用了一个在父活动中实现的接口。在活动中,我弹出后退栈直到片段 B(包括)

override fun onPopupClose() {
    supportFragmentManager.popBackStackImmediate(LoginFragment.TAG,FragmentManager.POP_BACK_STACK_INCLUSIVE)
}
© www.soinside.com 2019 - 2024. All rights reserved.