Android 数据绑定与 Kotlin

17

我正在将我的安卓应用从Java转换为Kotlin。一切都很顺利,除了当我尝试转换一个使用Android Data Binding库的文件时。 在这种情况下,Android Studio在编译时会抱怨未解决的引用:

我正在将我的安卓应用从Java转换为Kotlin。一切都很顺利,除了当我尝试转换一个使用Android Data Binding库的文件时。 在这种情况下,Android Studio在编译时会抱怨未解决的引用:

Error:(10, 44) Unresolved reference: AdapterHistoriesListBinding

AdapterHistoriesListBinding是一个文件名,应该由Data Binding Library生成。在Java中它运行正常,因此我认为这是Kotlin的问题。

我正在使用Android Studio 2.0.0-beta6、Android Gradle Plugin 2.0.0-beta6和Kotlin 1.0。 有什么办法可以让Data Binding Library与Kotlin一起工作吗?

2个回答

20

在你的Kotlin项目中设置数据绑定有几个步骤。

  1. 告诉kapt在模块依赖项中使用数据绑定编译器:

    dependencies {
      kapt 'com.android.databinding:compiler:2.0.0-beta6'
    }
    
    如Shintaro Katafuchi所提到的,你应该告诉kapt生成存根。
    kapt {
      generateStubs = true
    }
    

2
您尝试在build.gradle中添加以下设置了吗?
kapt {
    generateStubs = true
}

2
我刚刚尝试将其添加到我的模块的 build.gradle 文件中(在 android 块之外),并清理了我的项目,但结果仍然相同。 - Gaëtan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接