2013-04-25 80 views
0

我在那裏,我已經閱讀了一些關於此問題的問題,但沒有人幫助我,因爲我想要做的事情略有不同。從堆棧中清除活動

我有這樣的活動,例如:

A-> B-> C-> D->電子

DI上有一個按鈕移動到E,而當我進入活動E,I想要清除A和E之間的所有活動。 因此,如果我在E處按下後退按鈕,我將回到活動A.

我知道!我可以這樣做,覆蓋onKeyDown方法...並將用戶移動到活動A,但整個活動將保留在堆棧中,我想將它們擦除! 爲了提高性能和改善管理,我只是不再需要它們,理解?

非常感謝!

+1

在B,C或D時,如果用戶背按是否要返回上一個活動? – 2013-04-25 18:35:25

+0

是的,我想,那就是爲什麼我不能使用android:noHistory =「true」標籤 – TiagoM 2013-04-25 19:51:27

+0

您是否從FLAG_ACTIVITY_CLEAR_TOP標誌開始了E從D開始?如果是這樣,爲什麼這項工作超出了我。你的最低目標是什麼API? – 2013-04-25 19:57:19

回答

2

您應該在剛開始所需的活動時使用特殊意圖標誌(Intent.FLAG_ACTIVITY_CLEAR_TOP)。

+0

我會測試它,謝謝;) – TiagoM 2013-04-25 18:19:41

+0

工作就像一個魅力;) – TiagoM 2013-04-25 18:32:37

+1

不是真的:)它可能會導致目標活動的開始等待很長時間,這取決於要清除的活動量。您的活動目前可能很輕,您可能還會使用一些強大的設備,因此您沒有注意到暫停。 – Stan 2013-04-25 18:38:57

1

在你的清單,你可以寫

<activity 
     android:name=".MyActivity" 
     android:noHistory="true"> 

對於希望從堆棧中的每個活動。

+0

不知道這個,謝謝! – TiagoM 2013-04-25 18:32:19