Android 数据绑定和 Kotlin

Android Data Binding and Kotlin

我正在将我的 Android 应用程序从 Java 转换为 Kotlin。它工作正常,除非我尝试转换使用 Android 数据绑定库的文件。 在那种情况下,Android Studio 在编译时抱怨未解析的引用:

Error:(10, 44) Unresolved reference: AdapterHistoriesListBinding

其中 AdapterHistoriesListBinding 是应该由数据绑定库生成的文件的名称。它在 Java 中工作正常,所以我猜这是 Kotlin 的问题。

我正在使用 Android Studio 2.0.0-beta6、Android Gradle 插件 2.0.0-beta6 和 Kotlin 1.0。 有什么办法可以使数据绑定库与 Kotlin 一起工作吗?

您是否尝试过在 build.gradle 中添加以下设置?

kapt {
    generateStubs = true
}

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

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

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

    kapt {
      generateStubs = true
    }