2017-03-02 117 views
0

我在網上找不到任何東西,我看到的每個線程都是關於如何清除所有堆棧和整個堆棧歷史。但我需要特別清除我程序中的最後6個堆棧。Android Studio:如何清除「n」個堆棧

有什麼方法可以清除最後的ñ活動中的堆棧數量?

或者我需要做的是清除所有後退堆棧去我的最後一個前一個片段。

場景:一個屏幕在底部有四個片段供用戶選擇。

片段A 片段B 片段C 片段d

的活動從片段B,其中5個更多的活動被稱爲調用。

我需要清除所有這些並返回到片段B.但是現在如果我清除了所有的堆棧,它會回到片段A,我不想要。

所以,現在我的問題是,我將如何返回片段B清除後端堆棧?

+0

「但現在如果我清除所有的堆棧,它會回到碎片A」 - 爲什麼?該活動應該處於與您離開該活動相同的狀態,假定您的流程尚未在該行的某處終止。如果片段B顯示,片段B仍應顯示。 – CommonsWare

+0

因爲默認調用它的MainActivity會調用Fragment A,但是如果我回到棧中,它將被保存在Fragment B中。@CommonsWare – DaveTheCoder

回答

0

您可以使用startActivityForResult(),並且可以期望來自頂級活動的某種指示,以在protected void onActivityResult(int requestCode,int resultCode,Intent data)方法中調用finish()。