@BindingAdapter无法与Android Kotlin库一起使用

the*_*e64 3 android kotlin android-databinding

我有这个BindingAdapterGlide在我的图书馆模块中使用加载图像

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)
}
Run Code Online (Sandbox Code Playgroud)

我试图像这样使用适配器

   <ImageView
            ...
            app:imageUrl="@{`http://pngimg.com/uploads/alfa_romeo/alfa_romeo_PNG75.png`}"
            ... />
Run Code Online (Sandbox Code Playgroud)

但是越来越

**** /数据绑定错误**** msg:在android.widget.ImageView上找不到参数类型为java.lang.String的属性“ app:imageUrl”的设置器。

奇怪的是,当我将from 转换BindingAdapterJavafrom时Kotlin,它起作用了。

public class ImageViewBindingAdapter {

    @BindingAdapter("imageUrl")
    public static void setImageUrl(ImageView view, String url) {
        Glide.with(view)
                .load(url)
                .into(view);
    }
}
Run Code Online (Sandbox Code Playgroud)

注意:此问题仅在library模块中存在。App模块与Kotlin文件完美配合。

我究竟做错了什么 ?

小智 2

@BindingAdapter("imageUrl") 
Run Code Online (Sandbox Code Playgroud)

代替

@BindingAdapter("app:imageUrl")
Run Code Online (Sandbox Code Playgroud)