同上一篇:在Activity中的使用中一样,在Fragment中使用Data Binding同样需要修改布局,修改方式也跟Activity一样,在最外层加上<layout>标签:
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<data>
</data>
<页面布局.../>
</layout>
同样,为避免重复讲解, <data>中的数据绑定我们会在这一篇文章中讲到。
在Fragment中进行绑定
与在Activity中绑定中创建绑定的方式有些不同,但是目的都是获得绑定对象的引用。
比如我们Fragment的布局文件为:frag_main.xml,具体的方式如下:
- 定义成员变量
private FragMainBinding mBinding;
- 在onCreateView()中初始化mBinding,并返回View
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
mBinding = FragMainBinding.inflate(inflater);
mBinding.tvExample.setText("Binding Text");
return mBinding.getRoot();
}
此时就可以正常操作Binding对象了。
总结
与Activity中获取Data Binding对象类似,只是方法稍微不同。
除了在Activity和Fragment中使用Data Binding之外,另一个常用的场景是在列表的Adapter中使用Data Binding,这一篇我们将讲到。
下一篇我们将先讲解一下布局中<data>标签的作用,即如何将数据绑定到布局文件中。