从共享首选项中删除所有数据

时间:2015-08-06 11:48:56

标签: java android sharedpreferences

我想清除共享偏好中的所有数据。我尝试了以下代码 但它不起作用。我做错了什么?

SharedPreferences preferences = context.getSharedPreferences("PREFERENCE", 0);
SharedPreferences.Editor editor = preferences.edit();
editor.clear();
editor.commit();

3 个答案:

答案 0 :(得分:1)

确保'PREFERENCE'是您要清除的首选项名称。

答案 1 :(得分:0)

问题在于如何获得偏好:

 SharedPreferences preferences = context.getSharedPreferences("PREFERENCE", 0);

您需要获得所有偏好:

SharedPreferences preferences = getPreferences(0);

现在,要删除所有SharedPreferences,请使用Editor.clear()

  

在编辑器中标记以从首选项中删除所有值。调用commit后,剩下的唯一首选项将是您在此编辑器中定义的任何首选项。

SharedPreferences preferences = getPreferences(0);
SharedPreferences.Editor editor = preferences.edit();
editor.clear();
editor.commit();

根据文件:

  

返回对同一编辑器对象的引用,因此您可以将调用链接在一起。

我敢打赌这也会奏效:

SharedPreferences preferences = getPreferences(0);
SharedPreferences.Editor editor = preferences.edit();           
editor.clear().commit();

答案 2 :(得分:0)

下面这段代码对我有帮助。我必须使用PreferenceManager

        SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
        SharedPreferences.Editor editor = preferences.edit();
        editor.clear();
        editor.commit();

啊!简单的错误。