web-dev-qa-db-ja.com

Android ImageView setImageResource in code

現在いる国の小さなアイコンを表示したいimageViewがあります。国コードは取得できますが、問題はimageViewリソースを動的に変更できないことです。私の画像ファイルはすべて小文字です(例:国コード= US、画像ファイル= us)

私のコード(countryCodeは大文字の現在の国コードです):

    String lowerCountryCode = countryCode.toLowerCase();
    String resource = "R.drawable." + lowerCountryCode;
    img.setImageResource(resource);

SetImageResourceがintを必要とするので、もちろんこれは機能しません。事前に感謝:D

18
arielschon12

intメソッドで使用するsetImageResourceにその国名をマッピングする簡単な方法の1つは次のとおりです。

int id = getResources().getIdentifier(lowerCountryCode, "drawable", getPackageName());
setImageResource(id);

ただし、サポートする国に応じて、異なるフォルダーリソースを実際に使用する必要があります。

31
Luksprog

これは 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);
22
Jorgesys

あなたはそのコードを使用します

ImageView[] ivCard = new ImageView[1];

@override    
protected void onCreate(Bundle savedInstanceState)  

ivCard[0]=(ImageView)findViewById(R.id.imageView1);
0
Shekhar