使用场景,例如,点击按钮获取输入框的内容。就需要写一堆 findViewById 的代码。
Android Studio 3.6 之后,可以使用 View Binding 来简化这个操作。
而且在绝大部分场景下,view binding 可以替代 findViewById。
修改 build.gradle 启用 view binding
编辑 Module build.gradle 的 android section, 添加
buildFeatures {
viewBinding = true
}
然后,点击编辑区域顶部的 Sync Now 来更新 gradle 配置。
这样就可以在 activity / fragment 中使用 view binding 的方式来获取 layout 中的组件了。
如何获知生成的 Binding 类名字
我发现 Sync 之后,项目中通过 git 并没有发现生成了任何代码,所以也就不知道去哪里获取相应的 Binding 类名称。
可以通过 import 的自动提示来获取。
例如,需要在一个 fragment 中添加:
import com.sunzhongwei.todo.databinding. 等待提示:
就可以看到需要添加的 binding 类名称了。
DSL element 'android.viewBinding.enabled' is obsolete and has been replaced with 'android.buildFeatures.viewBinding'.
Module build.gradle 的 android section 中进行编辑。
旧的写法:
viewBinding {
enabled = true
}
需要替换为新的写法:
buildFeatures {
viewBinding = true
}
具体添加方法参考
https://developer.android.com/topic/libraries/view-binding
微信关注我哦 👍
我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式