Android ImageView setImageResource をコードで実行する 質問する

Android ImageView setImageResource をコードで実行する 質問する

現在いる国の小さなアイコンを表示したい 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);

ただし、サポートしたい国ごとに異なるフォルダー リソースを使用するようにしてください。

おすすめ記事