[英]Android - save activity state and list view items
我目前有一個由用戶自行填充的listview
。 我想要這樣,以便當用戶離開活動並返回時,用戶添加的所有內容仍在listview
。 我一直在閱讀有關onSaveInstanceState的信息,但我不知道這是否是正確的方法。 任何幫助將不勝感激。 謝謝。
我假設如果用戶正在填充一些數據,那么該數據在某處(SQLite,雲等)有存儲。 我建議積極存儲用戶輸入的所有內容(即,一旦他們單擊“新建”並輸入新的列表項,則推送到數據庫並刷新列表)。 因此,當調用應用程序onResume()時,您可以從源中獲取數據並重新填充列表視圖。 臨時保存到SharedPreferences中聽起來很麻煩(對於項目列表)。
如果活動在離開和返回之間沒有被破壞,那么您的數據應該是用戶離開它的地方(除非您在履歷表中進行一些重新初始化)。 但是,您不能指望這一點,因為Android可能會在需要時釋放資源,而非運行中的Activity可能會成為此類行為的受害者。
因此,您應該-如前所述-將數據保存到持久性存儲中。 如果僅用於此活動,並且僅包含少量數據,則SharedPreferences是一個很好的解決方案。 保存在onPause()中,加載在onResume()中,只有當手機死於您的Activity時,您才會丟失數據。
我不建議為此使用文件,但是如果您的數據必須由不同的視圖訪問,處理,排序,過濾等,則可能超出您想考慮的SQLite范圍。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.