Android 在事务处理后立即清除碎片回撤

Android 在事务处理后立即清除碎片回撤,android,android-fragments,Android,Android Fragments,我有一个带有“取消”按钮的活动,它可以将用户发送回 起始片段: 当这个起始片段返回到时,我想清除整个片段的backbackback。我正试图在片段的onStart方法中执行此操作: while (activity!!.supportFragmentManager!!.backStackEntryCount > 0) { activity?.supportFragmentManager?.popBackStackImmediate() } 这样做会

我有一个带有“取消”按钮的活动,它可以将用户发送回 起始片段:

当这个起始片段返回到时,我想清除整个片段的backbackback。我正试图在片段的onStart方法中执行此操作:

 while (activity!!.supportFragmentManager!!.backStackEntryCount > 0) {
            activity?.supportFragmentManager?.popBackStackImmediate()
        }

这样做会引发常见的java.lang.IllegalStateException:当按下cancel按钮时,FragmentManager已经在执行事务错误,但即使在阅读了其他人的问题后,我仍然无法理解这些事务是如何工作的以及是什么导致了此错误。片段包含在一个FrameLayout中。

在替换之后和提交之前,执行pop操作,它应该会工作。

好吧,不要在片段的onStart方法中执行,这有点奇怪。好吧,还有什么更好的呢?我认为应该在将此片段添加到提交之前执行此操作。这很有意义。谢谢,是的。非常感谢。
 while (activity!!.supportFragmentManager!!.backStackEntryCount > 0) {
            activity?.supportFragmentManager?.popBackStackImmediate()
        }