databinding BindingAdapter多参数

作者: 白色相簿 | 来源:发表于2018-04-17 14:30 被阅读385次

项目中经常会用到BindingAdapter自定义XML属性值来绑定,例如图片

@BindingAdapter("imageUrl")
public static void setImageUrl(ImageView imageView, String imageUrl) {
    ImageLoadUtils.loadImageUrl(getApplicationContext(), imageUrl, imageView);
}

XML中设置

<ImageView
        android:id="@+id/iv_image"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:scaleType="centerCrop"
        app:imageUrl="@{item.imageUrl}"/>

但有时候可能需要多参数,例如图片加载需要占位图和错误图

@BindingAdapter(value = {"imageUrl", "placeDrawableId", "errorDrawableId"}, requireAll = true)//requireAll表示所有参数都必须有
public static void setImageUrl(ImageView imageView, String imageUrl, int placeDrawableId, int errorDrawableId) {
    ImageLoadUtils.loadImageUrl(getApplicationContext(), imageUrl, placeDrawableId, errorDrawableId, imageView););
}

XML设置

<ImageView
        android:id="@+id/iv_image"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:scaleType="centerCrop"
        app:imageUrl="@{item.imageUrl}"
        app:placeDrawableId="@{item.placeDrawableId}"
        app:errorDrawableId="@{item.errorDrawableId}"/>

相关文章

网友评论

    本文标题:databinding BindingAdapter多参数

    本文链接:https://www.haomeiwen.com/subject/zcnukftx.html