現在いる国の小さなアイコンを表示したいimageViewがあります。国コードは取得できますが、問題はimageViewリソースを動的に変更できないことです。私の画像ファイルはすべて小文字です(例:国コード= US、画像ファイル= us)
私のコード(countryCodeは大文字の現在の国コードです):
String lowerCountryCode = countryCode.toLowerCase();
String resource = "R.drawable." + lowerCountryCode;
img.setImageResource(resource);
SetImageResourceがintを必要とするので、もちろんこれは機能しません。事前に感謝:D
int
メソッドで使用するsetImageResource
にその国名をマッピングする簡単な方法の1つは次のとおりです。
int id = getResources().getIdentifier(lowerCountryCode, "drawable", getPackageName());
setImageResource(id);
ただし、サポートする国に応じて、異なるフォルダーリソースを実際に使用する必要があります。
これは setImageResource() メソッドを使用してImageView
に画像を設定する方法です。
ImageView myImageView = (ImageView)v.findViewById(R.id.img_play);
// supossing to have an image called ic_play inside my drawables.
myImageView.setImageResource(R.drawable.ic_play);
あなたはそのコードを使用します
ImageView[] ivCard = new ImageView[1];
@override
protected void onCreate(Bundle savedInstanceState)
ivCard[0]=(ImageView)findViewById(R.id.imageView1);