一、定义
BindingAdapter是什么?弄懂一个东西必须得深刻理解定义。它是为了给view设置表达式的值在方法上添加注解的注解关键词;信息量有三点:1、它是一个注解关键词;2、他是用来标记的方法的;3、它的功能是用来设置view的属性值。它修饰的方法必须用public static 修饰。详细请看官方文档。
二、用法
根据定义三个点来写:
1和2,它是一个标记方法的注解关键词;
使用方法 我是建一个类 ,用来集体存放存放自定义注解使用的方法
使用BindingAdapter我感觉主要是为了对某个控件进行复杂操作
定义方法1
@BindingAdapter("loadtextView")
public static void loadUrlImage(TextView textView, String s) {
textView.setText(s);
LogUtils.INSTANCE.d("loadtextView的方法执行中");
}
使用方法1
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#FF333333"
android:textSize="26sp"
app:loadtextView="@{listitem.stockNo}" />
定义方法2//建议使用第二种方法。可以标识哪里使用
@BindingAdapter("nameSpace:loadtextView")
public static void loadUrlImage(TextView textView, String s) {
textView.setText(s);
LogUtils.INSTANCE.d("loadtextView的方法执行中");
}
使用方法2
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#FF333333"
android:textSize="26sp"
nameSpace:loadtextView="@{listitem.stockNo}" />
以下是list后运行后的打印日志