2011-10-19 10 views
2

私はAndroidアプリケーションで画像をダイナミックにしようとしています。他の投稿の助けを借りて私はこのコードを書いたが、私は画像リソースを設定することができません。ここに私のコードです。動画像ソースandroid

// get image whose source i want to change.. 
ImageView IV = (ImageView) findViewById(R.id.imageView1); 

// x for 1,2,3.. hangman1.png,hangman2.png and so on image are located 
// under res/drawable-mdpi 
int j = getResources().getIdentifier("hangman"+x, "imageView", getPackageName()); 

// here i get errork, The method setImageResource(int) in the type ImageView 
// is not applicable for the arguments (Drawable) 
IV.setImageResource(getResources().getDrawable(j)); 

答えて

12
int j = getResources().getIdentifier("hangman"+x, "drawable", getPackageName()); 

あなたが描画可能なを取得しようとしている場合は、これを試してみてください。 kcoppockが言ったように、ちょうどjを使う。

+2

はい、あなたが必要リソースの種類を指定します。 'R.drawable.hangman1'のように、型は' imageable'ではなく 'drawable'です。 – Peterdk

4

Drawableを渡すためです。 getDrawable()は、その名前の状態でDrawableオブジェクトを返します。 setImageResourceはリソースIDを取得します。これはgetIdentifierが返すものです。 jsetImageResource()に渡すだけです。

編集:Heh、あなたはまた彼が言ったようにYashwanthの答えを使うべきです。 :)

(チームワーク!)

+1

またはsetImageDrawable()を呼び出してください – user999717

+0

私は既にIV.setImageResource(j)を試しました。エラーは消えますが、画像は変わりません。: – mysterious

2

上記のソリューションの両方を組み合わせることがme..hereためのトリックは、コード.. あるDNT私は受け入れるべき答えを知っていました。..

ImageView IV = (ImageView) findViewById(R.id.imageView1); 
int j = getResources().getIdentifier("hangman"+x, "drawable", getPackageName()); 
IV.setImageResource(j); 
+0

母はYashwanth'sを受け入れ、彼は私のものを彼に合併させました:) – kcoppock

+1

彼はまた16秒も私を打ち負かしました。 – kcoppock

+0

+1のための16秒..lols ... okは彼の答えを受け入れるつもりです..thanks :) – mysterious

関連する問題