DataBinding总结

来源:互联网 发布:药物制剂论文数据统计 编辑:程序博客网 时间:2024/06/05 10:18

1.配置

在build.grade中

 dataBinding {        enabled = true    }

在布局中

<layout></layout>

2.使用

public class Bean extends BaseObservable{private String name;private Boolean isBuy;private String url;}
public class BindUtils {    @BindingAdapter("imageUrl"(在布局中用到的属性))    public static void showImageUrl(ImageView imageView, String url){                               Glide.with(imageView.getContext().getApplicationContext()).load(url).into(imageView);    }  }
<layout    xmlns:app="http://schemas.android.com/apk/res-auto">    <data class="自定义databingding名">                    //相当于Bean对象的引用        <variable name="bean "                    //指定Bean的路径                  type="com.android.example.Bean "/>    </data>    <LinearLayout …>      <TextView android:text="@{bean .name}"/>      <TextView  android:visibility="@{bean.isBUy ? View.VISIBLE :View.GONE}"                  //需要用到双引号的时候,外层的双引号改成单引号。                  android:text='@{bean.idBuy ? "买" : "不买"}'    />     <ImageView app:imageUrl(在BindUtils中定义的属性)="@{bean.url}"/>    </LinearLayout></layout>

遇到相同的类名

使用 alias 设置别名

  <data>          <import type = "com.android.example.Bean" alias = Bean>     <import type = "com.android.feng.example.Bean"  alias = mBean>               <variable name="bean "  type="Bean "/>         <variable name="mbean "  type="mBean "/>    </data>