用途:减少Activity/Fragment中UI代码的编写,提供开发效率。
1.使用Gradle引入
app -> build.gradle
android{
...
dataBinding{
enabled = true
}
}
2.基础使用
1)Layout文件改写,在原来的layout文件外套一层标签
<layout>
//原来的layout
</layout>
注:如果是跟标签需要把原来的命名空间提出来
<layout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
//原来的layout
</layout>
2)将原Activity中的
setContentView(R.layout.activity_main);
替换为
ActivityMainBinding binding = DataBindingUtil.setContentView(this, R.layout.activity_main);
注:(自己理解)ActivityMainBinding 类由系统生成,根据xml中添加layout标签后生成,命名规则根据xml文件activity_main进行首字母和下滑线字母大写。
之后如果在xml中定义控件的id后,直接用binding.firstText进行引用和操作即可。
3.UI事件绑定
使用 setVariable 或者 setXXX进行数据绑定操作。
1)数据绑定都会放到xml文件中的layout标签的<data>标签中操作:
2)在xml控件标签中进行引用:
3)在activity中进行设置数据
事件绑定
例如 android:onClick
android:onLongClick
android:onTextChanged
...
(1)方法引用
在Activity中创建监听器
注:创建的方法必须与原监听方法保持一致
在xml中申明监听变量
在EditText中添加监听
在Activity中设置监听
(2)监听器绑定
这里监听方法可以任意起名
xml中绑定监听