ViewBinding是 Android 开发中用于替代 findViewById的功能,以更简单、安全的方式访问布局文件中的视图组件。
1. 在模块级别(我这里只有app模块所以就在app下的) build.gradle文件中启用 View Binding:
2.接着同步一下,就可以在 Activity 和 Fragment 中使用 View Binding ,方法如下:
在 Activity:
- 调用生成的绑定类中包含的静态
inflate()
方法。此操作会创建该绑定类的实例以供 Activity 使用。 - 通过调用
getRoot()
方法或使用kotlin属性语法获取对根视图的引用。 - 将根视图传递到setContentView,使其成为屏幕上的活动视图。
- 注意:当前activity的binding类型是Activity名称的倒过来,如:MainActivity-》ActivityMainBinding
在Fragment:
- 调用生成的绑定类中包含的静态
inflate()
方法。此操作会创建该绑定类的实例以供 Fragment 使用。 - 通过调用
getRoot()
方法或使用 Kotlin属性语法 获取对根视图的引用。 - 从
onCreateView()
方法返回根视图,使其成为屏幕上的活动视图。
注意:Fragment 的存在时间比其视图长。请务必在 Fragment 的 onDestroyView() 方法中清除对绑定类实例的所有引用
另外补充,如果我不想在某一个布局文件生成binding类,则可以使用如下属性添加到布局的根标签中,如下图:
另外还有就是与数据绑定,这个我后面有时间再写。。。。