SharedPreferences没有刷新?

时间:2011-02-10 23:13:30

标签: android

我正在使用sharedPreferences来存储我定期访问的一些简单数据。我注意到,当我稍后尝试使用SharedPreferences.Editor访问prefs时,使用commit()(我会调用prefs.getAll())“放”某些内容时,我添加的项目不在那里。

奇怪的是,如果我关闭我的应用并再次启动它,它就会出现。这就像我的应用程序运行时prefs没有刷新。这是设计的吗?是什么给了什么?

BTW,我在做editor.remove("key")时注意到了同样的行为。我删除了一些内容(并拨打commit()),当我致电getAll()时,已删除的项目仍在Map内。如果我再次尝试删除它,我的应用程序将关闭。

我一定是做错了。任何帮助表示赞赏。

谢谢, 波比

2 个答案:

答案 0 :(得分:0)

如果以正确的方式使用SharedPreferences,则不应该发生这种情况。发生这种情况时,我能想到的唯一两种情况是:

  1. commit()返回false(是的,它确实有返回值)或
  2. 您正尝试在多个进程中使用SharedPreferences,即not supported yet

答案 1 :(得分:0)

好的,我的错误。我在一个怪异的对话框中显示了prefs列表。我错过了对话框创建只被调用一次因此它永远不会更新我的新值。尔加!

非常感谢!