###Resources$NotFoundExceptionの回避のしかた
ノベルゲームを作っているものです。
私は以下のようにstrings.xml
ファイルで、name+番号
、message+番号
というふうに名前をつけ、物語で使う文字列データを格納しています。
xml
1 <string name="message0">肉を食べない君が死んだ。</string> 2 <string name="message1">君は今日の朝、屋上から飛び降りた。</string> 3 <string name="message2">それは突然の出来事ではない。</string> 4 <string name="message3">君は朽ちてく花と同じように、ゆっくりと灰色に枯れ,そして散った。</string> 5 <string name="message4">君がクラスの自己紹介でこう言ったのを覚えている。</string> 6 <string name="name5">高崎咲良</string> 7 <string name="message5">「高崎咲良と言います」</string> 8 <string name="name6">高崎咲良</string> 9 <string name="message6">「私は肉が食べられません」</string> 10<!--略-->
ごらんいただくと、message+番号
の番号はきちんと抜けがないのですが、name+番号
の番号は飛び飛びになっているのがわかると思います。("name0"
、"name1"
...がない)
話は変わり、私は以下のコードを使いstrings.xml
ファイルから名前を取得しています。
kotlin
1//ユーザーが画面をタップすると、chapCountが+1され物語が進行していく仕組み。 2 private fun name() { 3 val nameId = resources.getIdentifier("name$chapCount", "string", packageName) 4 //nameというViewに取得したテキストを格納 5 name!!.text = resources.getString(nameId) 6 }
この"name$chapCount"
の部分、恐れていた通りstrings.xml
ファイルにname+番号
("name0"
、"name1"
など)がないと、Resources$NotFoundException
のエラーがでてしまいます。
解決策として下のように空のdataを作ることも考えたのですが、スマートではないので、あまり使いたくない手です。
<string name="name0"></string> <string name="name1"></string>
これ以外のやりかたでResources$NotFoundException
を回避できるでしょうか?
おそらくif
文を使うことになるのでしょうが、そこに書く条件式がわかりません・・・
どうかアドバイスお願いします・・・!
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/01/19 12:46
2019/01/19 13:03
2019/01/19 13:08