3

ファイルにImageViewレイアウトし.xml、メインのJavaファイルでコードを使用しています

static int[] images = { R.drawable.green_0, R.drawable.blue_1, R.drawable.purple_2, R.drawable.pink_3, R.drawable.red_4, R.drawable.yellow_5, R.drawable.white_6, R.drawable.teal_7, R.drawable.babyblue_8, R.drawable.lightgreen_9, R.drawable.magenta_10, R.drawable.grey_12, R.drawable.black_11 };

画像を表示します。ただし、コードの後半で、この行を使用しようとしています

holder.image.setImageBitmap(images[position].getImage());

エラーが発生します

「プリミティブ型intでgetImage()を呼び出せません」

他にどのようにすれば、エラーなしでそのコード行を使用するためにアプリに画像を表示できますか(画像をブール型intとして宣言しません)。

4

2 に答える 2

7

あなたの問題は、整数値を扱っていることです。この int を Drawable または Bitmap で次のように変換する必要があります。

holder.image.setImageResource(images[position]) 

また

holder.image.setImageDrawable( getResources().getDrawable( images[position] ));

また

holder.image.setImageBitmap(BitmapFactory.decodeResource(getResources(),  images[position]));
于 2012-10-15T19:51:18.880 に答える
0

setImageBitmap()int ではなく Bitmap オブジェクトを受け取ります。指定する int は、R.java で生成されたリソース ファイルの ID です。

BitmapFactory.decodeResources()を使用します。

holder.image.setImageBitmap(BitmapFactory.decodeResource(this.getResources(), images[position]));
于 2012-10-15T19:55:34.433 に答える