Kotlin Android 扩展已被弃用,这意味着使用 Kotlin 合成视图绑定不再受支持。如果您的应用使用 Kotlin 合成技术,请按照本指南迁移到 Jetpack 视图绑定。
如果您的应用尚未使用 Kotlin 合成进行视图绑定,请参阅视图 绑定。
更新 Gradle 文件
与 Android 扩展程序一样,Jetpack 视图绑定是逐个模块启用的
基础。对于使用视图绑定的每个模块,请设置 viewBinding
build
模块级 build.gradle
文件中的 true
选项:
Groovy
android { ... buildFeatures { viewBinding true } }
Kotlin
android { ... buildFeatures { viewBinding = true } }
如果您的应用不使用 Parcelable
功能,请移除启用 Kotlin Android 扩展的代码行:
Groovy
plugins { id 'kotlin-android-extensions' }
Kotlin
plugins { kotlin("android.extensions") }
如需详细了解如何在模块中启用视图绑定,请参阅设置 操作说明。
更新 activity 和 fragment 类
借助 Jetpack 视图绑定,系统会为每个 XML 布局文件生成一个绑定类
模块包含的资源。此绑定类的名称就是
(采用 Pascal 大小写格式,并在末尾添加 Binding 一词)。例如,如果
该布局文件的名称为 result_profile.xml
,即生成的
绑定类为 ResultProfileBinding
。
使用生成的绑定类(而不是合成属性) 引用视图,并通过执行 以下:
从
kotlinx.android.synthetic
中移除所有导入内容。为 activity 膨胀生成的绑定类的实例,或 fragment。
- 对于 activity,请按照在
activity来膨胀
在您的 activity 的
onCreate()
方法。 - 对于 fragment,请按照在
用于膨胀实例的 fragment
使用
onCreateView()
方法。
- 对于 activity,请按照在
activity来膨胀
在您的 activity 的
更改所有视图引用以使用绑定类实例,而不是 合成属性:
// Reference to "name" TextView using synthetic properties.
name.text = viewModel.nameString
// Reference to "name" TextView using the binding class instance.
binding.name.text = viewModel.nameString
如需了解详情,请参阅使用部分 请查看视图绑定指南
为您推荐
- 注意:当 JavaScript 处于关闭状态时,系统会显示链接文字
- 视图绑定
- Paging 库概览
- 测试 Paging 实现