我有一個靜態文本視圖,它在XML中設置了某個默認值。後來,我將該變量設置爲其他值,但是每當方向更改時,即使我沒有重新初始化,靜態變量的值也會返回到默認值。爲什麼會這樣呢?即使在調用onCreate()之後,該值是否仍然存在?在onCreate()過程中靜態文本視圖會發生什麼()
回答
當onCreate()
被調用時,我猜你也打電話setContentView()
正常。這將使用默認值重新繪製所有Views
。您需要處理配置更改
See this answer of mine如何處理它。推薦的方法是使用onSavedInstanceState
但我通常如何處理它自己並沒有任何問題...但
這有當你旋轉與lifecycle of an Android app.做,你的應用程序遍歷所有的生命週期方法調用。在發生旋轉後,您需要將當前狀態存儲在Bundle中並在您的onCreate
中恢復該數據。
在方向更改期間,Android會重新創建所有佈局。要保存窗口小部件的狀態,你可以簡單地分配id
到TextView元素:
<TextView
android:id="@+id/tv_caption"
...
/>
我確定OP是這樣做的,但是這並不能通過簡單地爲它分配一個ID來保存狀態 – codeMagic
啊,對不起。順便說一下,Android會保存指定ID的一些小部件的狀態。但是並非所有具有ID的視圖都能保存其狀態。具有ID的Android小部件(其狀態可由用戶更改)似乎將其狀態保存在軟殺死中。所以EditText保存它的狀態,但TextView不保存它的狀態。我忘了它。 – makovkastar
- 1. 爲什麼我的視圖在動畫過程中會發生變化?
- 2. 多態性過程中記憶會發生什麼?
- 3. 當UI視圖更改狀態時,ui視圖中的表會發生什麼?
- 4. 孩子過程會發生什麼?
- 5. Jupyter筆記本評估過程中會發生什麼?
- 6. 應用不會出現在模擬器什麼生成靜態表視圖
- 7. 文件上傳過程中會發生什麼?
- 8. 如果視圖ID在android中動態更改會發生什麼?
- 9. 當在SQL Server中修改視圖時會發生什麼
- 10. 在listview中回收視圖時會發生什麼?
- 11. 在類的初始化過程中會發生什麼?
- 12. 在反序列化過程中對象會發生什麼?
- 13. 在MVC中創建新視圖時舊視圖會發生什麼
- 14. 在執行任何程序代碼之前,通過靜態.lib鏈接到dll的程序會發生什麼?
- 15. 將會話變量分配給視圖狀態時會發生什麼?
- 16. 在Xcode 4中構建靜態庫。$ {BUILD_STYLE}會發生什麼情況?
- 17. 在Swift類或結構中聲明爲靜態的變量會發生什麼?
- 18. 在android中同時添加靜態和動態文本視圖
- 19. UINavigation控制器中未使用的視圖會發生什麼?
- 20. iOS8:在鍵盤轉換過程中移動視圖時發生了什麼?
- 21. 如果在ContentProvider的OnCreate中返回false,會發生什麼情況?
- 22. System.Data.SqlClient.SqlTransaction.Dispose中會發生什麼?
- 23. 會發生什麼?
- 24. 會發生什麼?
- 25. 會發生什麼?
- 26. 會發生什麼?
- 27. 會發生什麼?
- 28. 會發生什麼?
- 29. PHP cookie過期時會發生什麼?
- 30. 字符串初始化過程中會發生什麼?
當方向轉變活動被破壞並重新創建。所以當活動被破壞並重新創建時,變量的值被設置爲默認值。 – Raghunandan