FragmentでSharedPreferencesを使おうと思ってActivityで使っていた過去のコードからコピーしたところ
val pref = PreferenceManager.getDefaultSharedPreferences(this)
のところで

となりました。わかっている方には当たり前のことなんでしょうけどしばらく悩みました。
調べてみると、
getDefaultSharedPreferences(Context context)
でcontextが必要なのに、FragmentはContextの子クラスではないのでダメだということがわかりました。以下の情報を参考にさせて頂きました。
https://teratail.com/questions/1600
エラーになったところを下記のように変えたら
val pref = PreferenceManager.getDefaultSharedPreferences(getActivity())
無事、動きました。


コメント