[英]Trying to update shared preference from a Fragment Activity
我正在為我的應用構建自定義鈴聲選擇器。 該類稱為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)不能應用於(String,java.lang.String)
我在這里做錯了什么? 謝謝!
請注意,putString和putStringSet是不同的方法,因此請改用putString
editor.putString(“ notifications_new_message”,selectedResource);
您正在嘗試設置字符串,但是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();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.