我的項目中有2個活動。一個是SearchActivity.java,另一個是Result.java。 我在Result.java中使用sharedPreferences來保存結果,但我不需要保存所有的時間,所以我清除了SearchActivity中的ShraedPreferences。然後嘗試將結果保存到Result.java中的shardPreferences,但sharedPreferences不保存結果。 如果我沒有在SearchActivity中清除sharedPrefences,我可以將結果保存在SharedPreferences中。我清除SharedPreferences後無法保存到SharedPreferences
感謝,
SearchActivity.java
//clear old all of old data in SharedPreferences
SharedPreferences pref = mContext.getSharedPreferences(Constants.DEFAUL_SHARE_DATA, 0);
pref.edit().clear().commit();
Result.java
SharedPreferences sharedpreferences= mContext.getSharedPreferences(Constants.DEFAUL_SHARE_DATA, 0);
Editor editor = sharedpreferences.edit();
editor.putString(String.valueOf(txtImage.getId()), txtImage.getText().toString());
editor.commit();
感謝回答我,爲什麼我救的結果sharedpreferences是我不喜歡的用戶再次搜索他們已經搜查過了,或者他們是否無意中按下了。我認爲清除並提交onCreate中的共享首選項會清除結果,並且無法顯示他們搜索的最後結果。 – SAWAUNG 2014-10-09 04:38:30
什麼是您在searchActivity中調用'clear'的方法名稱?它是創建的?一種選擇是用'if'(newsearch)pref.edit()。clear()。commit();''來確保它不會在活動生命週期中錯誤地調用'clear'。 – ashoke 2014-10-09 04:48:02