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' }
更详细的检查这个职位
- 数据绑定和BaseObserver – Android MVVM
- msg:在数据绑定中找不到属性“android:text”的值types为java.lang.String的getter?
- 数据绑定:ButterKnife,Kotlin:不生成绑定文件
- 如何覆盖kotlin的setter方法?
- 替换Kotlin中的java通用接口进行数据绑定
- 监听器绑定; 找不到Setter
- Android Studio 3.0数据绑定参考代码不由android studio生成
- Kotlin和Android数据绑定(BuildTools 2.0.0)
- android数据绑定unit testing错误解析数据绑定编译器选项失败。 PARAMS: