DataBinding 是谷歌官方发布的一个框架,其作用是实现数据绑定(Data binding),同时,也是因为有它,可以在安卓(Android)上实现MVVM架构。关于MVVM架构,请看完 Android 安卓DataBinding用法(一)Android 安卓DataBinding用法(二) 之后,再看我博客详解!


开始准备


本篇文章是深一层理解 DataBinding 用法,在使用DataBinding之前,需要先往Modle中android之下加入dataBinding,如下。

…
android {
…
dataBinding {
enabled = true
}
}

深入了解 DataBinding


再上一期(Android 安卓DataBinding用法(一)·基础)讲了 DataBinding 的基础用法,如果你还没有看,请先去看完之后,再看此文章!


在代码中对TextView进行赋值

//使用ActivityMainBinding为id是textView2的TextView赋值
activityMainBinding.textView2.setText(“我是新的值”);

TextView默认值

根据上篇文章紧接着,如果在People没有赋值的时候,People的值是空的,此时TextView什么都不显示,而这事恰巧又一个默认值显示在TextView之上,这时候就需要用到 default ,如下写法,值不能出现空格。

<TextView
…
android:text=“@{data.name,default = HelloWorld}”
… />

这是以在TextView上输出 HelloWorld 举例!如下图:

android应用的Data区大小限制 安卓/data/data_android


使用class属性

你也可以通过对data标签使用 class 属性来对 ViewDataBinding 进行命名,如下:

<variable
name=“data”
type=“PeopleBean” />

当命名为 ActivityMainBinding2 之后,就要在Activity中修改了!

将其 ActivityMainBinding 修改为 ActivityMainBinding2