在我的应用程序中,我想在按钮点击时清除SharedPreferences
。这就是我用来存储值的原因:
SharedPreferences clearNotificationSP = getSharedPreferences("notification_prefs", 0);
SharedPreferences.Editor Notificationeditor = clearNotificationSP.edit();
Notificationeditor.putString("notificationCount", notificationCountValue);
Notificationeditor.commit();
关于onClick()的以下代码:
SharedPreferences clearedNotificationSP = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
SharedPreferences.Editor editorSP = clearedNotificationSP.edit();
editorSP.remove("notificationCount");
editorSP.commit();
System.out.println("Saved in SP clearedNotification: "+ clearNotification);
清除后我打印了这个值但仍然得到了相同的值。
我错过了什么?
任何形式的帮助都将受到赞赏。
答案 0 :(得分:2)
getDefaultSharedPreferences
和getSharedPreferences("notification_prefs", );
返回两个不同的SharedPreferences
。由于您要在notificationCount
内添加notification_prefs
,因此您应该使用getSharedPreferences("notification_prefs", );
getDefaultSharedPreferences
使用默认的首选项文件名,而getSharedPreferences使用您提供的文件名作为参数