Альтернативный способ отображения изображений в приложении Android

У меня есть 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());

Который дает ошибку

«Невозможно вызвать getImage () для примитивного типа int"

Как еще я могу отображать изображения в своем приложении, чтобы использовать эту строку кода без ошибок (не объявляя образы как булевский тип int).

Ваша проблема в том, что вы работаете с целыми значениями. Вам нужно преобразовать этот int в Drawable или Bitmap следующим образом:

 holder.image.setImageResource(images[position]) 

или

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

или

 holder.image.setImageBitmap(BitmapFactory.decodeResource(getResources(), images[position])); 

setImageBitmap() принимает объект Bitmap, а не int. Int, который вы поставляете, – это всего лишь идентификатор в файле ресурсов, созданных R.java.

Использовать BitmapFactory.decodeResources () :

 holder.image.setImageBitmap(BitmapFactory.decodeResource(this.getResources(), images[position]));