我正在为我的应用构建自定义铃声选择器。该类称为SoundPicker
,它扩展为FragmentActivity
。我要做的是将选定的铃声保存到我的应用程序的设置文件中。
这是我的代码:
String selectedResource = "blablabla";
SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
SharedPreferences.Editor editor = sharedPref.edit();
editor.putStringSet("notifications_new_message", selectedResource);
editor.commit();
问题是我收到错误,引用我想要设置的新字符串 - selectedResource
这是我得到的错误:
错误的第二个参数类型。找到:'java.lang.String',必需: 'java.util.Set'
putStringSet(String,java.util.Set)in 编辑器不能应用于(String,java.lang.String)
我在这里做错了什么?谢谢!
答案 0 :(得分:4)
请注意,putString和putStringSet是不同的方法, 所以请改用putString
editor.putString(“notifications_new_message”,selectedResource);
答案 1 :(得分:2)
您正在尝试设置字符串,但putStringSet接受类型为set 的第二个参数
使用putString存储字符串值或创建字符串集并使用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();