39

我在一个选项卡中将一堆 FragmentTransactions 添加到后堆栈中,并且当用户选择不同的选项卡时,我想将它们全部从后堆栈中清除。我找不到从后台堆栈中清除东西的方法,只有将它们弹出的方法,而且这些方法甚至不会将 Fragment 返回给您,因此您可以关闭它们。有任何想法吗?

4

2 回答 2

109

如果您将许多 Fragment 添加到 backstack 并希望将它们全部删除,您可以这样做:popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE)

于 2012-02-01T16:30:47.493 回答
1

只需使用这些popBackStack()方法将它们从后台堆栈中删除即可。

您弹出的每个片段都与用户按下按钮完全相同,并且在按下BACK按钮时您不会进行任何特殊清理BACK,对吗?

于 2011-04-07T03:52:14.633 回答