以前布局文件通常只负责:UI控件的布局工作;页面(Activitity):负责通过setContentView()方法关联布局文件,再通过UI控件的id找到控件,对控件进行操作;
DataBinding的出现:让布局文件承担以前页面的部分工作,是页面与布局文件耦合度进一步降低;
- 部分与UI相关的代码可以放到布局文件
- 不在需要findViewById()
- 布局文件可以包含简单的业务逻辑,UI控件能直接与数据模型中的字段绑定;
DataBinding-绑定表达式
在项目中使用DataBinding,需要在module的Gradle文件添加:
Android{
....
databinding{
enabled=true
}
...
}
1、绑定布局文件
布局文件最外层使用layout标签(可以右键点击根标签->show context action->convert to data binding layout),完成对该布局文件的绑定,rebuild该项目,DataBinding库会自动生成绑定该布局文件所需要的类(在页面中我们通过DataBindingUtil.setContenView()方法来来实例化布局文件,该方法返回实例化后的布局文件对象),java.lang.*包下的类自动导入;
<layout>
<data>
<imoprt type="导入的类&