2012-05-22 47 views
4

我有一個Activity A,我從這裏開始Activity B。在Activity B我想開始B的新實例(具有不同的內容),使我可以返回到B的不同的實例例如:Android:保持活動在堆棧中的多個實例

A - > B(與含量x) - >乙'(與含量y)-back-> B(與含量x)

我的問題:

有關示例導航路徑:

A - > B - > B' - > B''

當按下B''時,我按預期返回到A而不是B'。 不是android存儲一個活動的實例在後退堆棧中,還是我必須做一些事情來告訴android保存每一個實例,以便我可以在它們之間導航?

+0

向我們展示您在AndroidManifest中使用的意圖和您的活動 – Blundell

+0

不要在startactivity()之後編寫任何finish(); –

+0

你有沒有得到任何解決方案?如果是的話,你可以分享你遵循的方法嗎?目前我陷入完全相同的情況。我將所有內容存儲在共享首選項中,但由於我擁有大量數據,使用共享首選項似乎也不可行。 –

回答

1

您應該閱讀Google的Tasks and Back Stack文檔。

+0

好吧,它說:「因爲後堆棧中的活動從不重新排列......創建一個新活動的實例並將其推入堆棧(而不是將任何先前的活動實例放到頂層)因此,因此,如果用戶使用「後退」按鈕向後導航,則活動的每個實例都會以打開的順序顯示(每個實例都有自己的UI狀態)「。但在我的應用程序中,它沒有透露任何實例。我究竟做錯了什麼? – anel