回答編集履歴
2
修正
answer
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
SharedPreferencesではXMLファイルに情報が記録されます。getSharedPreferences()の第1引数に記述した文字列がXMLファイルの名前になります。この例で言えば、button.xmlというファイル名になります。初回起動でファイルが存在しないときは自動的に生成され、2回目以降の実行ではそのファイルが読み込まれますので、「実行する度にXMLファイルが作られる」ということはありません。
|
4
4
|
|
5
|
-
ただし、ご提示いただいたコードのように
|
5
|
+
ただし、ご提示いただいたコードのように宣言して初期値を代入しようとするとエラーでアプリが落ちてしまうので、
|
6
6
|
|
7
7
|
```kotlin
|
8
8
|
private lateinit var sharedPreferences: SharedPreferences
|
1
修正
answer
CHANGED
@@ -9,7 +9,7 @@
|
|
9
9
|
|
10
10
|
override fun onCreate(savedInstanceState: Bundle?) {
|
11
11
|
sharedPreferences = getSharedPreferences("button", Context.MODE_PRIVATE)
|
12
|
-
|
12
|
+
|
13
13
|
}
|
14
14
|
|
15
15
|
```
|
@@ -23,7 +23,7 @@
|
|
23
23
|
val buttontf = sharedPreferences.getBoolean("togglebutton", false)
|
24
24
|
```
|
25
25
|
|
26
|
-
とすれば、togglebuttonというキーによるboolean値がbutton.xmlに存在しなければ(ファイルが新規作成されたときも同様)、変数buttontfにはfalseが返ります。ただ、booleanでは「初回起動かどうか」を判断するのは難しいですね。初回起動か判断する必要
|
26
|
+
とすれば、togglebuttonというキーによるboolean値がbutton.xmlに存在しなければ(ファイルが新規作成されたときも同様)、変数buttontfにはfalseが返ります。ただ、booleanでは「初回起動かどうか」を判断するのは難しいですね。初回起動か判断する必要があれば、例えばintでアプリでは使用することのない値を初期値すれば判別可能でしょう。
|
27
27
|
|
28
28
|
まとめれば、だいたいこんな感じにすれば最低限の動作確認はできるのでは?
|
29
29
|
|