Andorid中BindingAdapter的用法示例

隔了好长时间,再发一篇博客。千万别问我为什么这么长时间才发一篇,我发博客的标准是,当我用到的技术点网上资源很少,或者资源很多但不能解决我的问题时,我就会发一篇。本文适用于有databinding基础的同学看。废话少说,请看正文。</span>

一、定义

BindingAdapter是什么?弄懂一个东西必须得深刻理解定义。它是为了给view设置表达式的值在方法上添加注解的注解关键词;信息量有三点:1、它是一个注解关键词;2、他是用来标记的方法的;3、它的功能是用来设置view的属性值。它修饰的方法必须用public static 修饰。详细请看官方文档

二、用法

根据定义三个点来写:

1和2,它是一个标记方法的注解关键词

/**
*url 图片的地址
*
*/
@BindingAdapter({"nameSpace:yourSelfName"})
public static void setImage(ImageView iv,String url){
Glide.with(iv.getContext())
                    .load(url)
                    .into(iv);
}

3、给view设置属性值,即怎么在布局文件中引用这个方法。

布局文件

<layout>
<data>
    <variable
        name="model"
        type="com.example.test.aaa.Model">
    </variable>
</data>
...
<ImageView>
...
...
nameSpace:yourSelfName="@{model.url}"

</ImageView>
</layout>

Model类:

public class Model{
ObservableField<String> url = new Observable("可以有默认图片");
}

现在我们这个ImageView已经和model的url绑定了,比如说:请求接口时,当请求完成时,拿到所需的图片url,通过model.url.set("图片地址"),这时ImageView上的图片就会自动变化。

以上全是现敲的,可能有笔误。欢迎指正。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值