Подтвердить что ты не робот

Android Data Binding и Kotlin

Я конвертирую свое приложение для 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?

4b9b3361

Ответ 1

Несколько шагов по настройке привязки данных в вашем проекте Kotlin.

  • Сообщите kapt использовать компилятор привязки данных в зависимостях модулей:

    dependencies {
      kapt 'com.android.databinding:compiler:2.0.0-beta6'
    }
    
  • Как упоминал Синтаро Катафучи, вы должны сообщить kapt о создании заглушек.

    kapt {
      generateStubs = true
    }
    

Ответ 2

Вы пытались добавить следующие настройки в свой build.gradle?

kapt {
    generateStubs = true
}

Ответ 3

Я недавно написал "Blog for Data Binding android" с Kotlin здесь

Использовать 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'
}

для более подробной информации этот пост