2012-07-11 93 views
1

我的應用程序有一些問題, 我有4個按鈕,一個用於開始其他每個活動。 說活動被稱爲a,b,c,d。我希望能夠在這些活動之間進行切換,而無需在堆棧中獲取100d個已暫停的活動,但仍可保存後臺歷史記錄。同一活動的多個實例?

即A-> B-> A-> C-> D-> a其中全部是活動的同一實例

所以實際上我想要的是能夠重新啓動非常相同的實例的活動,而不是開始一個新的。

可能嗎?

回答

6

是的,這是可能的。

mIntent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP); 
mIntent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); 

將此標誌添加到您的意圖中,這會將您的活動放在堆棧的頂部而不是創建新的標誌。

+0

不幸的是後面的歷史消失了,否則它有效,但不適合這個解決方案 – We4sZ 2012-07-11 07:13:04

+0

是的,這是正確的答案。 Not(Intent.FLAG_ACTIVITY_CLEAR_TOP)或(Intent.FLAG_ACTIVITY_SINGLE_TASK); – 2012-10-29 14:14:33

0

如果你的活動「a」是你的家,你可以添加這些標誌:

intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
    intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP); 

然後,當你壓回,應用程序將退出(因爲你清除了所有其他活動)=>doc

+0

這不是我正在尋找的,想要能夠開始任何次數的活動,並且仍然回到所有四個之間,其中沒有一個是家 – We4sZ 2012-07-11 07:21:18

+0

然後我猜你什麼時候必須保存你的實例狀態和活動順序在堆棧中,每當你想改變你的活動時,reorder_to_front。希望這會幫助你 – AMerle 2012-07-11 07:33:25

相關問題