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?
Ответы
Ответ 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'
}
для более подробной информации этот пост