2013-04-06 115 views
1

我已經實現保存(onSaveInstanceState)&通過捆綁恢復(onCreate)。它在由於方向改變而重新創建活動時起作用,但在其他應用程序聲稱資源之後重新創建活動時不起作用。在這種情況下,事實證明,我捆綁的數據密鑰不存在。爲什麼?我很茫然。保存和恢復與捆綁

+0

你所說的「從其他應用程序重新聲稱資源」呢? – 2013-04-06 09:21:51

+0

我只是午餐幾個應用程序沒有完成我的,然後返回到我的應用程序。據我所知,它被重新創建。 – user2251607 2013-04-06 09:25:48

+0

檢查應用程序的onPause()和onResume()狀態。 – 2013-04-06 09:28:49

回答

1

保存在onSaveInstanceState()中,並通過onCreate()傳回的包不是永久性的,僅用於保存配置更改期間的狀態以及應用程序生命週期中的活動休閒。

如果您的應用程序被破壞,因爲似乎發生在這裏,你將需要存儲你的價值觀的地方執着,例如在SharedPreferences

使用onPause()onResume()保存和恢復。

http://developer.android.com/reference/android/app/Activity.html#onSaveInstanceState(android.os.Bundle)

+0

@ user2251607使用Simon建議的共享首選項。 +1 – Raghunandan 2013-04-06 09:28:48

+0

我不知道這個捆綁包是不是持久的。應該重寫這部分。感謝名單。我可以只使用首選項(不共享)嗎? – user2251607 2013-04-06 09:45:46

+0

當然,使用任何有意義的東西。 – Simon 2013-04-06 10:01:02