我想清除共享偏好中的所有数据。我尝试了以下代码 但它不起作用。我做错了什么?
SharedPreferences preferences = context.getSharedPreferences("PREFERENCE", 0);
SharedPreferences.Editor editor = preferences.edit();
editor.clear();
editor.commit();
答案 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();
啊!简单的错误。