У меня проблема в recyclerView, так как он не отображает изображение из нарисованного ресурса.
Я сохранил imageResource в классе данных с другим text и audioResource, а затем заполнил recyclerView с помощью адаптера. Все работает, как текст отображается правильно, аудио воспроизводится, только изображение не показывает изображение, вместо этого оно показывает фиолетовую рамку.
Вот класс данных
@Parcelize
data class Word (
// English Translation of word
var englishTranslation: String,
// French Translation of word
var frenchTranslation: String,
// Image resource for corresponding image to the word
var imageResourceId: Int,
// Audio resource for the pronunciation of the word
var audioResourceId: Int,
// String for description of image
var imageContentDescription: String,
// String for description of audio
var audioResourceContentDescription: String): Parcelable
, и это фактический список. Данные
private val fruits: MutableList<Word> = mutableListOf(
Word("Apple", "Pomme",
R.drawable.ic_image_apple, R.raw.des_fruits, "Image of the apple",
"pronunciation of the audio"),
Word("Orange", "Orange",
R.drawable.ic_image_apple, R.raw.des_fruits, "image of the Orange",
"Plays the pronunciation audio"),
Word("Strawberry", "Fraise",
R.drawable.ic_image_apple, R.raw.des_fruits, "image of the Strawberry",
"Plays the pronunciation audio")
)
и ниже приведен xml код imageView в макете элемента recyclerView
<ImageView
android:id="@+id/word_image"
android:layout_width="36dp"
android:layout_height="36dp"
android:layout_marginStart="@dimen/spacing_large"
android:layout_marginTop="8dp"
android:layout_marginBottom="8dp"
android:contentDescription="@{word.imageContentDescription}"
android:src="@{word.imageResourceId}"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:src="@drawable/ic_image_apple" />