現在いる国の小さなアイコンを表示したい imageView があります。国コードは取得できますが、imageView リソースを動的に変更できないという問題があります。画像ファイルはすべて小文字です (例: 国コード = US、画像ファイル = us)
私のコード (countryCode は大文字の現在の countryCode です):
String lowerCountryCode = countryCode.toLowerCase();
String resource = "R.drawable." + lowerCountryCode;
img.setImageResource(resource);
さて、もちろん、setImageResource
が必要なのでこれは機能しませんint
。では、どうすればこれを実行できるのでしょうか?
ベストアンサー1
int
メソッド内で使用する国名をマップする簡単な方法は次のとおりsetImageResource
です。
int id = getResources().getIdentifier(lowerCountryCode, "drawable", getPackageName());
setImageResource(id);
ただし、サポートしたい国ごとに異なるフォルダー リソースを使用するようにしてください。