0

我无法SharedPreferences在点击事件时从应用程序中删除。

这是我将值存储到 UserInfoActivity 的方式SharedPreferences

SharedPreferences notificationCountSP = PreferenceManager
             .getDefaultSharedPreferences(getApplicationContext());
SharedPreferences.Editor notificationEditor = perkBalance.edit();
notificationEditor.putString("notificationCount",notificationCountValue);
notificationEditor.commit();

这是我试图SharedPreferences从 MainActivity 清除所有数据的方式:

SharedPreferences clearNotificationSP = getSharedPreferences(
                "notificationCountSP", 0);
SharedPreferences.Editor editor = clearNotificationSP.edit();
editor.remove("notificationCount");
editor.clear();
editor.commit();

请告诉我我做错了什么。

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

4

3 回答 3

0
SharedPreferences notificationCountSP = PreferenceManager
                     .getDefaultSharedPreferences(getApplicationContext());
SharedPreferences.Editor notificationEditor = notificationCountSP.edit();
notificationEditor.putString("notificationCount", notificationCountValue);
notificationEditor.commit();

notificationEditor.remove("notificationCount");
notificationEditor.commit();

或者

SharedPreferences clearNotificationSP = getSharedPreferences("notification_prefs", 0);
SharedPreferences.Editor editor = clearNotificationSP.edit();
editor.putString("notificationCount", notificationCountValue);
editor.commit();

editor.remove("notificationCount");
editor.commit();

第一个解决方案使用默认的应用程序首选项文件,第二个解决方案使用自定义 notification_prefs 文件。

于 2013-04-22T18:09:34.950 回答
0

PreferenceManager.getDefaultSharedPreferences用于存储但从中检索getSharedPreferences("notificationCountSP"). 除非您将默认文件设置为“notificationCountSP”,否则它们是不同的文件。

于 2013-04-22T17:55:29.693 回答
0

你可以像下面那样做

SharedPreferences userPref = getSharedPreferences(
                                    MyActivity.SHARED_PREFERENCES_FILENAME,MODE_PRIVATE);
于 2013-04-22T17:56:06.547 回答