使用数据绑定加载图像

cha*_*ary 5 android android-databinding

我想使用 Android 数据绑定设置图像。我已经阅读了很多关于此的教程,但图像仍然没有出现。

在我的模型中,我有以下方法:

@BindingAdapter({"app:imageUrl"})
    public static void loadImage(ImageView view, String url) {

        Log.i("III", "Image - " + url);
        Context context = view.getContext();
        Glide.with(context).load(GlobalValues.img_start_url + url).into(view);
    }
Run Code Online (Sandbox Code Playgroud)

我还应该提到“III”、“Image -” + url 永远不会打印,所以问题不在于 Glide。

这是我的 xml:

 <data>

    <variable
        name="feeling"
        type="bg.web3.helpkarma.ViewModels.Feeling"/>

</data>

<ImageView
            android:layout_width="wrap_content"
            android:id="@+id/icon"
            android:layout_height="wrap_content"
            android:layout_marginRight="16dp"
            app:imageUrl="@{feeling.maleIcon}"/>
Run Code Online (Sandbox Code Playgroud)

并且maleIcon 是一个url 字符串

@SerializedName("male_icon")
@Expose
private String maleIcon;
Run Code Online (Sandbox Code Playgroud)

tyn*_*ynn 1

Android DataBinding@BindingAdapter仅支持 android 命名空间或不支持。因此将定义替换为

@BindingAdapter("imageUrl")
public static void loadImage(ImageView view, String url) {
    [...]
}
Run Code Online (Sandbox Code Playgroud)

另外,loadImage()如果为空,则永远不会被调用feeling.maleIcon