databinding BindingAdapter多参数

项目中经常会用到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}"/>
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,388评论 25 708
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,957评论 19 139
  • 第一层阶梯是什么?就是“拿来主义”。 学习别人的经验技巧,利用身边人提供的优越条件,见牛人读好书,像现在巨人肩膀上...
    凌凌喵阅读 344评论 1 1
  • 作者/@一木南楠 懵懂而凄美,恰似古镇江南风雨。 乌镇,这个被誉为中国最美的古镇。 到达杭州的飞机✈晚点,当我到达...
    efcabd8a8d5a阅读 304评论 0 2
  • 楔子 “千,我走后照顾好自己,天冷了,穿条秋裤,别光顾着帅不休息身体。去做你想做的事,不要一味地顺应别人的意愿。还...
    北巷空笙阅读 507评论 0 2