我正在将我的Android应用程序从Java转换为Kotlin。它正常工作,除非我尝试转换使用Android数据绑定库的文件。 在这种情况下,Android Studio会在编译时抱怨未解析的引用:
Error:(10, 44) Unresolved reference: AdapterHistoriesListBinding
其中AdapterHistoriesListBinding
是应由数据绑定库生成的文件的名称。它在Java中正常工作,所以我猜这是Kotlin的一个问题。
我使用的是Android Studio 2.0.0-beta6,Android Gradle Plugin 2.0.0-beta6和Kotlin 1.0。 有没有什么可以使数据绑定库与Kotlin一起工作?
答案 0 :(得分:20)
在Kotlin项目中设置数据绑定的步骤很少。
告诉kapt
在模块依赖项中使用数据绑定编译器:
dependencies {
kapt 'com.android.databinding:compiler:2.0.0-beta6'
}
正如Shintaro Katafuchi所说,你应该告诉kapt
生成存根。
kapt {
generateStubs = true
}
答案 1 :(得分:2)
您是否尝试在build.gradle中添加以下设置?
kapt {
generateStubs = true
}
答案 2 :(得分:0)
我已经用Kotlin here
重新写了Blog for Data Binding android使用Classpath
classpath 'com.android.tools.build:gradle:3.0.0-beta2'
<强>依赖强>
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'
android {
...
dataBinding {
enabled = true
}
}
dependencies {
......
kapt 'com.android.databinding:compiler:2.3.1'
}
了解更多详情,请查看this post