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上的图片就会自动变化。

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

智能推荐

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
© 2014-2019 ITdaan.com 粤ICP备14056181号  

赞助商广告