Android数据绑定和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一起工作有什么需要做的吗?
几个步骤来设置您的Kotlin项目的数据绑定。
-
告诉
kapt
在模块依赖关系中使用数据绑定编译器:dependencies { kapt 'com.android.databinding:compiler:2.0.0-beta6' }
-
正如Shintaro Katafuchi提到的,你应该告诉
kapt
生成存根。kapt { generateStubs = true }
你有没有尝试在build.gradle中添加以下设置?
kapt { generateStubs = true }
我最近在这里写了博客数据绑定安卓与Kotlin
使用类路径
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' }
更详细的检查这个职位
- 尝试使用Android Studio生成Kotlin应用程序的问题
- Kotlin自定义对话框指定为非null的参数
- 无法解析:用于电话号码身份验证的com.google.firebase:firebase-auth:11.0.2
- 用Kotlin在android中声明变量类型的正确方法是什么?
- 未解决的参考DaggerApplicationComponent
- 在Kotlin Realm Extention中如何解决“功能不属于这个领域的模式的一部分”
- Android的kotlin onTouchListener要我重写performClick()
- 如何定义kotlin全球范围内的arralist
- 在Kotlin中使用RXJava地图?