У меня есть BindingAdapter
для загрузки изображения с использованием Glide
в моей библиотеке модуля
import android.widget.ImageView
import androidx.databinding.BindingAdapter
import com.bumptech.glide.Glide
@BindingAdapter("imageUrl")
fun loadImage(view: ImageView, imageUrl: String) {
Glide.with(view)
.load(imageUrl)
.into(view)
}
, и я попытался использовать адаптер какэто
<ImageView
...
app:imageUrl="@{`http://pngimg.com/uploads/alfa_romeo/alfa_romeo_PNG75.png`}"
... />
, но я получаю
**** / ошибка привязки данных **** msg: Не удается найти установщик для атрибута 'app: imageUrl' с типом параметраjava.lang.String on android.widget.ImageView.
Странная вещь, когда я конвертирую BindingAdapter
в Java
из Kotlin
, это работает.
public class ImageViewBindingAdapter {
@BindingAdapter("imageUrl")
public static void setImageUrl(ImageView view, String url) {
Glide.with(view)
.load(url)
.into(view);
}
}
ПРИМЕЧАНИЕ. Эта проблема существует только с модулем library
.Модуль приложения прекрасно работает с файлом Kotlin
.
Что я делаю не так?