2012-06-30 44 views
0

我有什麼:從家返回任務

我在我的應用程序3個活動,一個基本的嵌套結構:

活動1 - >活動2 - >活動3

活動2包含嵌入在ArrayList<CustomClass>中的數據。 CustomClass擴展的應用程序(如教here)和活動3使用該修改CustomClass數據活動2.

我想要什麼:

當用戶點擊Home鍵,然後再次打開我的應用程序後,我想返回到我的堆棧頂部的任何活動。 (我認爲這應該是Android的默認行爲。)

它在我的Eclipse模擬器上正常工作,但在我的Google Nexus One和Huawei Honor上,任務完全重新啓動。

我曾嘗試將我的活動設置爲在標準,singleTop和singleTask啓動模式下運行。我可以在手機上得到的最好結果是返回到活動1(這只是一個表單),並且仍然顯示我在創建活動2之前在文本字段中輸入的內容。

我也注意到如果我點擊首頁,然後檢查設置下運行的應用程序,我的應用程序未列出。也許Android可能會破壞我的任務,我需要保存活動狀態。但如果我按回家並立即重新輸入應用程序,這是沒有意義的?

建議表示讚賞。

回答

0

誰也不能保證,一旦你打的主頁按鈕,您的活動去在onPause()它會保持其狀態(即使它,它會保持原有的狀態,對時間的實際量的活動將繼續留在難保記憶)。這尤其取決於設備以及它如何處理其內部存儲器。 (請參閱this figure,其中顯示了Android活動生命週期)。

最佳做法是始終將您的狀態保存在onSaveInstanceState方法中。 This post提供了一個很好的例子,說明如何做到這一點。