android data binding jetpack VIII BindingConversionhtml
android data binding jetpack VII @BindingAdapterjava
android data binding jetpack V 实现recyclerview 绑定android
android data binding jetpack IV 绑定一个方法另外一种写法和参数传递git
android data binding jetpack III 绑定一个方法github
android data binding jetpack II 动态数据更新app
android data binding jetpack I 环境配置 model-view 简单绑定框架
第一步:baidu jetpack编辑器
第二步:准备布局
1.Gradle 插件版本不低于 1.5.0-alpha1:classpath 'com.android.tools.build:gradle:1.5.0'post
(Module)的 build.gradle:
加配置:
dataBinding {
enabled true
}

第三步:
使用 Data Binding 以后,xml 的布局文件就再也不用于单纯地展现 UI 元素,还须要定义 UI 元素用到的变量。因此,它的根节点再也不是一个 ViewGroup
,而是变成了 layout
,而且新增了一个节点 data
。
<layout xmlns:android="http://schemas.android.com/apk/res/android"> <data> </data> <!--原先的根节点(Root Element)--> <LinearLayout> .... </LinearLayout> </layout>
将文件放在layout文件夹。以下图。
布局中多了<data>节点。data
节点的做用就像一个桥梁,搭建了 View 和 Model 之间的通路。绑定数据M2V
第四步:了解<data>节点
在代码里解释:
先建一个类备用
定义一个变量
java.lang.*
包中的类会被自动导入,能够直接使用,例如要定义一个 String
类型的变量:<variable name="firstName" type="String" />
第五步:
同步一下项目。build一下。
根听说明项目会生成下面这个类。
打开这个类是这样的
里面有布局元素和刚才定义的变量。
第六步:
在使用的activity类里声明绑定类实例变量,修改设置视图:
private ActivityMainBinding mBinding;
作完上面两步。可是类
ActivityMainBinding 编辑器不认识。不能自动导入。rebuild、clean都无论用。怎么办。baidu也没给出办法。
试了一下,能够手动导入。直接输入:
import com.ht.jetpack.databinding.ActivityMainBinding;
嘿嘿。没问题。项目能够编译经过了。又完成一步。
到此binding的环境差很少了可用了。
其它知识点:
除了使用框架自动生成的 ActivityBasicBinding
,咱们也能够经过以下方式自定义类名。
<data class="com.example.CustomBinding"> </data>
注意
ActivityBasicBinding
类是自动生成的,全部的 set
方法也是根据 variable
名称生成的。例如,咱们定义了两个变量。
<data>
<variable name="firstName" type="String" /> <variable name="lastName" type="String" /> </data>
那么就会生成对应的两个 set 方法。
setFirstName(String firstName);
setLastName(String lastName);
第七步:绑定数据。
把textview text 与user 的name变量绑定。
语法是@{}。语法能够当一大块去学习。这里先试一试。
经过这个代码,告诉textview的text数据来源是user 的name。二者绑定起来。
而后在activity里作以下操做:
生成一个User对象。并把他给绑定器。
咱们运行起来看一下。
文字出来了,跟textview绑在了一块儿。至此最简单的绑定过程搞定了。