私のアプリには、地域と場所を識別するために使用される多数の文字列があります。
<string name="r1s1">Seattle</string>
<string name="r1s2">Des Moines</string>
<string name="r1s3">Bremerton</string>
<string name="r2s1">Tacoma</string>
<string name="r2s2">Burton</string> etc, etc.
長い switch ステートメントを使用すると、文字列名でこれらの文字列に簡単にアクセスできます。
switch(regionCode
{ case 1: sN=getString(R.string.r1s1);break;
case 2: sN=getString(R.string.r2s1);break; etc etc
この文字列名を計算し、それを使用してより直接的に文字列にアクセスしたい:
stationNameKey="r"+regionCode+"s"+stationCode;// e. g. r1s1
stationName=getString(R.string.stationNameKey);
この 2 番目のステートメントは正しくないため、コンパイルできません。メッセージは次のとおりです。
! compiler error:: stationNameKey cannot be resolved or is not a field.
String から Resource Name Identifier へのキャストは機能すると思いますが、見つかりません。
Q: 2 番目のステートメントが正しく機能するように文字列をキャストするにはどうすればよいですか。ありがとうございました。