问题描述: 在Android项目中,即使在布局文件中声明了id,使用Kotlin合成导入(synthetic import)时,会导致应用崩溃。
解决方法:
使用findViewById()方法手动查找视图:
val myView = findViewById(R.id.my_view)
升级到Android Gradle插件3.6.0及以上版本,使用View Binding替代Kotlin合成导入:
android
的buildFeatures
下的viewBinding
设置为true:android {
...
buildFeatures {
viewBinding true
}
}
标签包裹布局,并生成绑定类:
...
val binding = MyLayoutBinding.inflate(layoutInflater)
val myView = binding.myView
注意事项: