Android Studio:如何清除“n”个堆栈

Android Studio:如何清除“n”个堆栈,android,android-fragments,stack,fragment,Android,Android Fragments,Stack,Fragment,我在网上找不到任何东西,所以我看到的每一个线程都是关于如何清除所有堆栈和整个堆栈历史的。但我需要特别清除程序中的最后6个堆栈 有没有办法清除活动中最后n个堆栈 或者,我需要做的是清除所有的后堆栈,以转到上一个片段 场景:一个屏幕底部有四个片段,用户可以选择 片段A 片段B 片段C 片段D 从片段B调用一个活动,在片段B中又调用了5个活动 我需要清除所有6个,然后返回片段B。但是现在如果我清除所有堆栈,它将返回片段A,我不想要 所以现在我的问题是,在清除后台堆栈后,我将如何返回片段B?您可以使用s

我在网上找不到任何东西,所以我看到的每一个线程都是关于如何清除所有堆栈和整个堆栈历史的。但我需要特别清除程序中的最后6个堆栈

有没有办法清除活动中最后n个堆栈

或者,我需要做的是清除所有的后堆栈,以转到上一个片段

场景:一个屏幕底部有四个片段,用户可以选择

片段A 片段B 片段C 片段D

从片段B调用一个活动,在片段B中又调用了5个活动


我需要清除所有6个,然后返回片段B。但是现在如果我清除所有堆栈,它将返回片段A,我不想要


所以现在我的问题是,在清除后台堆栈后,我将如何返回片段B?

您可以使用startActivityForResult,并可以从顶部活动中得到某种指示,在受保护的void中调用finish on ActivityMultint requestCode,int resultCode,意图数据方法。

但现在如果我清除所有堆栈,它将返回片段A-为什么?该活动应该与您离开时处于相同的状态,假设您的流程没有在某个地方终止。如果片段B正在显示,那么片段B应该仍然显示。因为默认情况下调用它的MainActivity调用片段A,但是如果我返回堆栈,它将保存在片段B中。@commonware