我的项目中有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