У меня была другая проблема.Возможно, это не решение вашей проблемы, но, возможно, другие выиграют от этогоВ плюсе я добавил к моей функции загрузки изображения заполнитель и выводимую ошибку, например:
@JvmStatic
@BindingAdapter("imageUrl", "error", "placeholder")
fun ImageView.setImageFromUrl(imageUrl: String, error: Drawable?, placeholder: Drawable?) {
Picasso.get()
.load(imageUrl)
.placeholder(placeholder
?: ContextCompat.getDrawable(context, R.drawable.ic_general_placeholder)!!)
.error(error
?: ContextCompat.getDrawable(context, R.drawable.ic_general_error)!!)
.into(this)
}
Я подумал, что достаточно положить ?
в конец Drawables ив макете я мог бы просто указать URL-адрес изображения с app:imageUrl
, если я не хотел предоставлять какую-либо конкретную ошибку и изображения-заполнители.Но я ошибался, я продолжал получать ту же ошибку, что и вы, Не могу найти установщик ... После нескольких часов очистки кэша, удаления каждой папки сборки, перезапуска андроид-студии я нашел решение в руководстве, предоставленном Google.,Вы должны указать внутри @BindingAdapter
, требуются ли все атрибуты или нет.Поэтому я изменил свой код следующим образом:
@JvmStatic
@BindingAdapter(value = ["imageUrl", "error", "placeholder"], requireAll = false)
fun ImageView.setImageFromUrl(imageUrl: String, error: Drawable?, placeholder: Drawable?) {
Picasso.get()
.load(imageUrl)
.placeholder(placeholder
?: ContextCompat.getDrawable(context, R.drawable.ic_general_placeholder)!!)
.error(error
?: ContextCompat.getDrawable(context, R.drawable.ic_general_error)!!)
.into(this)
}