目的
・MainActivity で保存した SharedPreferences の内容を View class で読みたい
・onDraw内のcanvas.drawPoint(x,y,Paint)にテキスト入力で座標を渡したい
質問
・Viewクラス内でのSharedPreferences仕様方法を知りたいです
・他の方法があるのならそれも試したいです
発生している問題・エラーメッセージ
View class内に SharedPreferences の読出し文が書けなくて困っています
getSharedPreferencesが赤文字となりどのように書けばいいのか分かりません
kotlin
1 2//受取りのクラスView側 3class DrawingView : View { 4 5// 以下のgetSharedPreferencesが赤文字となり修正方法もわからずBuildできない 6 val dataStore: SharedPreferences = getSharedPreferences("DataStore", Context.MODE_PRIVATE).apply { 7 val edit1 = getString("edit1", "") 8 val edit2 = getString("edit2", "") 9 } 10 11//edit1,edit2をFloatに変換してonDraw()内で使用する 12 13 override fun onDraw(canvas: Canvas) { 14 super.onDraw(canvas) 15 canvas.drawColor(Color.WHITE) 16 canvas.drawPoint(x,y,paint) 17 } 18} 19
該当のソースコード
kotlin
1 2 //MainActivity側のSharedPreference登録 3 val dataStore: SharedPreferences = getSharedPreferences("DataStore", Context.MODE_PRIVATE).apply { 4 val edit1 = getString("edit1", "") 5 val edit2 = getString("edit2", "") 6 editText1.setText(edit1) 7 editText2.setText(edit2) 8
試したこと
・普段は複数Activityクラス間でPreferenceを使用している
・Viewクラスだから、Activityで書いているonCreate(),onResume()が作成できない?普段(Activityクラスなら)はその中に書いている
・onDraw関数の中でも書いてみたけど同様にだめ
補足情報(FW/ツールのバージョンなど)
Android Studio 3.5.3
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/12/10 10:33 編集