使用databinding
通过databinding功能,可以更轻松地编写可与视图交互的代码。在模块中启用 databinding 之后,系统会为该模块中的每个 XML 布局文件生成一个绑定类。绑定类的实例包含对在相应布局中具有 ID 的所有视图的直接引用。
在大多数情况下,databinding 会替代 findViewById
。
启用 databinding,需要在模块的gradle文件中添加
android {
// ....
dataBinding {
enabled true
}
}
在 layout 中,添加<layout>
标签。例如act_data_binding_1.xml
文件。 其中包含了data标签与view标签,view 标签的内容就是不使用 DataBinding 时的普通布局内容
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:binding="http://schemas.android.com/tools">
<!-- 根视图 -->
<LinearLayout.... />
</layout>
系统会通过以下方式生成绑定类的名称:将 XML(layout)文件的名称转换为驼峰式大小写,并在末尾添加“Binding”一词。 上面的xml会生成ActDataBinding1Binding
类。我们可以直接使用这个类。
在DataBindingAct1
中,也需要调用setContentView
。
public class DataBindingAct1 extends AbsActivity {
ActDataBinding1Binding binding;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
binding = ActDataBinding1Binding.inflate