正确的方法来清除首选项并使其使用XML文件中的值?

Fra*_*gle 2 android preferences

所以我正在进行一些开发并更改了我在settings.xml文件中的一些首选项的键名(android:key).在一些测试中,我意识到旧设置(旧密钥和值)仍然存在,即使我的新settings.xml文件不再具有它们.

我的应用程序启动时,我一直这样做:

 PreferenceManager.setDefaultValues(this, R.xml.settings, false);
Run Code Online (Sandbox Code Playgroud)

这不是删除我的设置文件中不再存在的旧设置.

然后尝试了这个:

PreferenceManager.setDefaultValues(this, R.xml.settings, true);
Run Code Online (Sandbox Code Playgroud)

最后这个:

  PreferenceManager.getDefaultSharedPreferences(this).edit().clear();
  PreferenceManager.setDefaultValues(this, R.xml.settings, true);
Run Code Online (Sandbox Code Playgroud)

但旧键/值仍然存在.好的,现在我刚刚重新启动了模拟器并选中了"清除用户数据",这样我肯定会做到这一点.但除此之外,做正确的方法是什么?

清除旧设置的正确方法是什么?

Nic*_*ion 19

在最后一个例子之后,你必须做一个提交.我建议打破步骤,使其更容易阅读.

SharedPreferences sharedPrefs = getDefaultSharedPreferences(this);
Editor editor = sharedPrefs.edit();
editor.clear();
editor.commit();
Run Code Online (Sandbox Code Playgroud)