尝试从片段 Activity 更新共享首选项
Trying to update shared preference from a Fragment Activity
我正在为我的应用构建自定义铃声选择器。 class 称为 SoundPicker
,它扩展了 FragmentActivity
。我想做的是将所选的铃声保存到我的应用程序的设置文件中。
这是我的代码:
String selectedResource = "blablabla";
SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
SharedPreferences.Editor editor = sharedPref.edit();
editor.putStringSet("notifications_new_message", selectedResource);
editor.commit();
问题是我遇到错误,指的是我尝试设置的新字符串 - selectedResource
这是我得到的错误:
Wrong 2nd argument type. Found: 'java.lang.String', required:
'java.util.Set'
putStringSet (String, java.util.Set) in
Editor cannot be applied to (String, java.lang.String)
我在这里做错了什么?谢谢!
请注意,putString 和 putStringSet 是不同的方法,
所以改用 putString
editor.putString("notifications_new_message", selectedResource);
您正在尝试设置字符串,但 putStringSet 接受类型为 set
的第二个参数
use putString to store string value or create string set and use putStringSet
//To store string value
String selectedResource = "blablabla";
SharedPreferences sharedPref =
PreferenceManager.getDefaultSharedPreferences(getBaseContext());
SharedPreferences.Editor editor = sharedPref.edit();
editor.putString("notifications_new_message", selectedResource);
editor.commit();
//To Store string set
Set<String> hs = ss.getStringSet("set", new HashSet<String>());
String selectedResource = "blablabla";
hs.add(selectedResource);
SharedPreferences sharedPref =
PreferenceManager.getDefaultSharedPreferences(getBaseContext());
SharedPreferences.Editor editor = sharedPref.edit();
editor.putStringSet("notifications_new_message", hs);
editor.commit();
我正在为我的应用构建自定义铃声选择器。 class 称为 SoundPicker
,它扩展了 FragmentActivity
。我想做的是将所选的铃声保存到我的应用程序的设置文件中。
这是我的代码:
String selectedResource = "blablabla";
SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
SharedPreferences.Editor editor = sharedPref.edit();
editor.putStringSet("notifications_new_message", selectedResource);
editor.commit();
问题是我遇到错误,指的是我尝试设置的新字符串 - selectedResource
这是我得到的错误:
Wrong 2nd argument type. Found: 'java.lang.String', required: 'java.util.Set'
putStringSet (String, java.util.Set) in Editor cannot be applied to (String, java.lang.String)
我在这里做错了什么?谢谢!
请注意,putString 和 putStringSet 是不同的方法, 所以改用 putString
editor.putString("notifications_new_message", selectedResource);
您正在尝试设置字符串,但 putStringSet 接受类型为 set
的第二个参数use putString to store string value or create string set and use putStringSet
//To store string value
String selectedResource = "blablabla";
SharedPreferences sharedPref =
PreferenceManager.getDefaultSharedPreferences(getBaseContext());
SharedPreferences.Editor editor = sharedPref.edit();
editor.putString("notifications_new_message", selectedResource);
editor.commit();
//To Store string set
Set<String> hs = ss.getStringSet("set", new HashSet<String>());
String selectedResource = "blablabla";
hs.add(selectedResource);
SharedPreferences sharedPref =
PreferenceManager.getDefaultSharedPreferences(getBaseContext());
SharedPreferences.Editor editor = sharedPref.edit();
editor.putStringSet("notifications_new_message", hs);
editor.commit();