我遇到了一個奇怪的問題,看起來像是一個簡單的應用程序來創建(一個總是要求麻煩的想法)。重新啓動後Android應用程序共享偏好設置爲空
基本上,應用程序以MainActivity
開頭,用戶用它登錄到應用程序。如果成功MainActivity
通過使用startActivity
轉到下一個活動ItemzList
。這一切都很好,一旦啓動ItemzList
,它就會使用SharedPreferences
中的字符串列表填充它的ListView
。
再次,這工作得很好。但是,如果您按下「主頁」按鈕並重新啓動應用程序,當ItemzList
從SharedPreferences
加載列表時,列表突然變空(我已用調試器和我的設備確認)。
我知道它與被緩存的應用程序有關,因爲如果我在應用程序上「強制停止」,然後重新啓動該列表再次運行。
我是否錯誤地訪問了共享首選項?
SharedPreferences settings = getSharedPreferences("MAIN", MODE_PRIVATE);
Set<String> tempSet = settings.getStringSet("LIST", new HashSet<String>());
在哪裏你是否正在執行加載?如果它正在啓動創建它可能沒有第二次調用 – MrChaz 2013-04-28 17:27:10
在OnCreate中,它第二次調用,但SharedPreferences返回一個空集合。我已經通過文件探索在Eclipse中,由sharedPreferences創建的MAIN.xml文件確實具有Set 的值。 –
Copperfield81
2013-04-29 01:08:31