Android DataBinding(数据绑定)
数据绑定(DataBinding)
DataBinding 是 Google 在 Jetpack 中推出的一款数据绑定的支持库,利用该库可以实现在页面组件中直接绑定应用程序的数据源。
DataBinding 可以和 ViewModel 一起使用,实现视图随数据的更新而更新。
要在安卓中使用 DataBinding ,要再 build.gradle(:app) 中添加
buildFeatures {
dataBinding = true
}
在布局文件中,找到最外层的 Layout,找到小黄灯泡,点击
第一个选项,自动转换为 BindingLayout
可以代替原始的绑定控件操作,减少代码,更加简洁高效
// 未使用 DataBinding ,初始化全部控件,再绑定到布局文件
private TextView textView1;
private TextView textView2;
private TextView textView3;
...
textView1 = view.findViewById(R.id.textView1);
textView2 = view.findViewById(R.id.textView2);
textView3 = view.findViewById(R.id.textView3);
...
// DataBinding
private Binding binding;
binding = DataBindingUtil.setContentView(this, R.layout.activity_login);
binding.textView1.setText("");
binding.textView2.setText("");
binding.textView3.setText("");
在中可以自定义数据源
<variable
name="MiniProgram"
type="cn.chingshen.douzhuan.models.MiniProgram" />
在 View 上可以使用 @{} 的形式使用数据源中的数据
<TextView
android:id="@+id/name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="24dp"
android:layout_toEndOf="@+id/logo"
android:text="@{MiniProgram.name}"
android:textColor="@color/white"
android:textSize="15sp" />
== 前提是在得到数据源时,要设置到这个 Binding 中 ==
MiniProgram miniProgram = response.body().getData();
binding.setMiniProgram(miniProgram);


浙公网安备 33010602011771号