我是android.i的新手,有activity
和main.xml
文件。現在,我有一個scroll view
在那main.xml
file.when我運行我的應用程序在portrait mode
和當我去scroll view
的底部和當我更改我的application state
到橫向模式比我去滾動視圖的頂部。這意味着當我們在portrait
到landscape
之間切換時,反之亦然,activity
被召回。因此需要將應用程序狀態保存在portrait
中,並在landscape
中恢復。所以它的任何解決方案? 由於事先 阿米爾·罕一如何保存活動狀態
如何保存活動狀態
回答
該文檔做了一個體面的工作explaining different ways to handle configuration changes,包括屏幕方向更改。正如@Jason Kuang所提到的那樣,這些方法中的一種有助於保存UI的臨時狀態,它將數據保存在onSavedInstanceState()
方法中。
通常,您可以依靠Android來保存和恢復View
的狀態,而無需您做任何特別的努力。爲protected
方法onSaveInstanceState()
的源代碼解釋(強調):
默認實現通過調用android.view.View.onSaveInstanceState()每個需要照顧的大多數UI每個實例的狀態對你的在具有ID的層次結構中查看,並通過保存當前聚焦視圖的ID(所有這些視圖都通過onRestoreInstanceState(android.os.Bundle)的默認實現來恢復)。如果您重寫此方法以保存未被每個視圖捕獲的附加信息,那麼您可能需要調用默認實現,否則應準備好保存每個視圖的所有狀態。
這是一個有點欺騙性,因爲API文檔指出EditText
S和TextView
小號必須android:freezesText="true"
在佈局XML文件中明確宣佈他們,以確保當調用onSaveInstanceState()
是Android的自動保存其狀態。我最近沒有測試過這個,但它是源代碼似乎在做的事情。因此,處理臨時UI狀態是最好的。
另一條提示:您可以通過致電setSaveEnabled(false)
對該View
明確阻止存儲臨時數據的View
。 (這不會影響它的孩子。)
通常,手動保存屏幕狀態到onPause()
方法和onSaveInstanceState()
是一個好主意。
一位同事告訴我,什麼API doc說關於需要自動保存的EditText和TextView需要顯式啓用 - 就像我上面提到的 - 事實上並非如此。我想測試總是一個很好的策略,以確保文檔所說的是最新的。 @AamirPathan,你想接受你認爲最有用和最準確的答案嗎? – hotshot309 2012-01-23 16:41:58
活動將被銷燬,當您從橫向更改您的應用程序的狀態爲縱向,如果你想保存活動的狀態,你可以參考 Saving Android Activity state using Save Instance State
- 1. 如何保存我的活動狀態?
- 2. 如何保存我的活動狀態
- 3. 保存活動狀態 -
- 4. 保存活動狀態
- 5. 保存活動gui狀態
- 6. 活動狀態未保存
- 7. 在android中保存活動狀態?
- 8. Android保存整個狀態活動
- 9. 保存整個活動狀態
- 10. 保存和恢復活動狀態?
- 11. 在活動之間保存mediaplayer狀態
- 12. 保存活動的狀態 - 機器人
- 13. Android的保存活動狀態
- 14. 保存Android活動狀態和內容
- 15. Android中保存的onResume活動狀態?
- 16. 活動保存狀態問題
- 17. 在GWT中保存活動狀態
- 18. 如何保持Android活動的狀態
- 19. Android保持活動狀態
- 20. 保留Android活動狀態
- 21. 如何激活保持活動狀態,http://www.webpagetest.org表示保持活動狀態未激活
- 22. 如何保存一個活動的狀態
- 23. 如何保存我的活動的實例狀態
- 24. 如何使用此保存活動狀態
- 25. 如何保存狀態時,它的活動與摧毀這個
- 26. 如何使Android活動不保存其狀態?
- 27. 如何在android中保存活動的狀態?
- 28. 我該如何保存我的活動狀態
- 29. 如何保存UI狀態的一個活動
- 30. 如何保存在Android上的活動狀態回上鍵按
你有看過這個http://stackoverflow.com/questions/2308628/how-do-you-save-your-activitys-state-when-exiting-android – rfsk2010 2011-12-29 12:35:34