我發現某些值已被存儲到Set
重新啓動應用程序後丟失了。爲什麼?這是一個Android API錯誤?有人建議將字符串存儲在數據庫中。我還沒有測試過,但我認爲這個建議是解決問題的方法。那麼getStringSet
和putStringSet
?使用getStringSet和putStringSet丟失一些值
3
A
回答
5
從我的理解,這是一個錯誤。問題在於,當你嘗試存儲一個集合時,Android會將你正在嘗試保存的已修改集合與存儲在SharedPreferences中的當前集合進行比較。當它們是同一個對象(具有相同的參考)時,新的被忽略。
解決方法是在存儲之前創建集合的新副本。
Here是細節和問題提交https://code.google.com/p/android/issues/detail?id=27801。
0
我有使用SharedPreferences相同的問題。 Android API似乎存在一個錯誤。我做了就可以了小哨here
對我來說,最簡單的方法是將其刪除,提交它,然後把它和再犯它
3
SharedPreferences.Editor編輯= preferences.edit();
editor.remove(key);
editor.commit();
editor.putStringSet(key,value);
editor.commit();
+0
嘗試解釋這個答案多一點。代碼很好,但解釋對所有未來的觀衆更好。 – SuperPrograman 2013-10-16 02:27:41
相關問題
- 1. 下拉菜單丟失了一些值
- 2. R:levelplot(某些值在輪廓中丟失)
- 3. 從數組中丟失某些值
- 4. 使用webmethod傳遞的對象會丟失一些值,但不是全部
- 5. DataOutputStream,是否會丟失一些位
- 6. 字體真棒一些圖標丟失
- 7. IIF聲明丟失了一些東西
- 8. DataGridView中丟失的一些對象
- 9. IIS SMTP一些郵件丟失了
- 10. SQL數據比較 - 一些表丟失
- 11. Youtube搜索API - 一些文件丟失
- 12. 旋轉時丟失了一些片段
- 13. 爲什麼一些信標幀丟失
- 14. Java Apache HttpClient一些Cookies丟失
- 15. Celery/Redis一些(很多)消息丟失
- 16. 在Cygwin中丟失了一些文件
- 17. 使用linum時丟失的一些行號
- 18. 使用TIdNotify.NotifyMethod時丟失了一些數據包
- 19. jsch ChannelExec使用nohup運行.sh腳本「丟失」一些命令
- 20. 使用Python嗅探模塊丟失了一些數據包
- 21. preg_match在使用cURL獲取數據時丟失了一些ID
- 22. 使用Android Studio(Gradle)時會丟失一些工件並且Robolectric
- 23. Hiddenfield丟失值
- 24. Ajax.ActionLink值丟失
- 25. NSSrring丟失值
- 26. 排序後丟失「一些」十進制值
- 27. 爲什麼我每100個文檔都會丟失一些值?
- 28. 導入丟失一些浮點類型值的csv數據表
- 29. SharedPreferences getStringSet方法不可用
- 30. WCF在使用靜態時丟失值
謝謝。但是我用一個包含「NOT NULL UNIQUE TEXT」字符串的表格來表示一個數據庫。 – 2013-03-28 16:30:32