Android数据绑定和Kotlin

时间:2016-03-05 13:38:40

标签: android kotlin android-databinding

我正在将我的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一起工作?

3 个答案:

答案 0 :(得分:20)

在Kotlin项目中设置数据绑定的步骤很少。

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

    dependencies {
      kapt 'com.android.databinding:compiler:2.0.0-beta6'
    }
    
  2. 正如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