0

在我的应用程序中,我想清除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);

清除后我正在打印该值,但仍然得到相同的值。

我错过了什么?

任何形式的帮助将不胜感激。

4

1 回答 1

2

getDefaultSharedPreferencesgetSharedPreferences("notification_prefs", );

返回两个不同的SharedPreferences. 由于您在notificationCount里面添加notification_prefs,您应该检索 SharedPreference 与getSharedPreferences("notification_prefs", );

getDefaultSharedPreferences使用默认首选项文件名,而 getSharedPreferences 使用您提供的文件名作为参数

于 2013-04-24T14:17:06.680 回答