Android中是否有关于SharedPreferences中的Set <string>的错误?</string>

时间:2013-08-25 11:09:09

标签: android android-preferences

Android平台中是否存在错误? 我一直在尝试覆盖我的SharedPreferences中的Set

prefs = getSharedPreferences("prefs", MODE_PRIVATE);
editor = prefs.edit();

Set<String> set = prefs.getStringSet("set", new HashSet<String>());
set.add("one");
set.add("two");
set.add("three");
editor.putStringSet("set", set);
editor.commit();
showSet(prefs.getStringSet("set", new HashSet<String>()));

这显示正确的字符串:“one”,“two”和“three”。

但后来我要删除“三”。

Set<String> set = prefs.getStringSet("set", new HashSet<String>());
set.remove("three");
editor.putStringSet("set", set);
editor.commit();
showSet(prefs.getStringSet("set", new HashSet<String>()));

这也给了我正确的字符串:“one”和“two”。

但是如果我停止应用程序并重新启动它。我的SharedPreferences仍然会给我“一个”,“两个”和“三个”。

我已经尝试过与布尔和字符串相同,但这似乎工作得很好。 我在my blog here上解释了所有内容。

注意:我已经在onDestroy()中登录了所以当我停止应用程序时,我可以看到onDestroy()被调用,因此生命周期方法已被执行。

0 个答案:

没有答案