目录
案例1、告别繁琐的findViewByid的操作【DemoActivity】
步骤4:修改 setContentView 方法,使用binding可直接调用组件的id
案例2、声明使用对象和变量,进行组件数据操作【Demo2Activity】
步骤2:在 DataBinding 布局中,声明使用Account
步骤3:在Activity里面对account对象进行初始化、赋值,并展示到布局界面上
案例3、监听按钮点击事件,改变文本内容【Demo3Activity】
步骤1:Databinding布局引入新的对象activity,然后为按钮设置点击事件
步骤2:在activity里面实现按钮点击事件,并实现相关业务
案例4、实现改变数据,视图自动更新【Demo3Activity】
一、DataBinding简单介绍
1、DataBinding是什么?
也就是说 DataBinding 是实现 mvvm 模式的一个工具,用来提供数据绑定服务。
2、DataBinding的使用步骤
要在我们的项目中实现 DataBinding,我们需要做到以下三步
第一步,启用 DataBinding,也就是让我们的项目支持 DataBinding
第二步,修改布局文件为 DataBinding 布局,也就是把传统的布局文件修改为 DataBinding 布局
第三步,进行数据绑定
二、DataBinding实战操作
案例1、告别繁琐的findViewByid的操作【DemoActivity】
步骤1:添加语句启用 DataBinding
在 app 的 build.gradle 里面,添加语句启用 DataBinding,Sync Now,这样我们的项目就支持 DataBinding了
android {
......//启用DataBinding
dataBinding{
enabled = true;
}}
如果项目里面有多个 Module 的情况,放在对应的 Module 的 build.gradle 文件里面
步骤2:新建一个默认空的 DemoActivity
public class DemoActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_demo);
}
}
它的布局文件为 activity_demo
步骤3:如何将传统布局转换为DataBinding布局?
选中最外层的布局标识,按住 alt + enter 键,
就会提示我们将传统布局转换为DataBinding布局 (Convert to data binding layout),
点击 “Convert to data binding layout”,生成效果如下:
这样布局就转换为 DataBinding 布局了,我们发现它的最外层已经变为 layout
还新增了一个 data 标签
步骤4:修改 setContentView 方法,使用binding可直接调用组件的id
修改 setContentView 方法。当布局转换为 DataBinding 布局以后,系统会我们自动生成这样一个类 ActivityDemoBinding,
ActivityDemoBinding它的生存规则就是布局文件activity_demo变成大写ActivityDemo,然后拼接+Binding,
使用binding可直接调用组件的id
运行效果如下: