Kotlin 上的 Butterknife 不适用于绑定颜色和可绘制对象 AndroidX

Butterknife On Kotlin Not Working For Binding Colours And Drawables AndroidX

我仍然在我的 Kotlin 项目中使用 Butterknife,但仅用于绑定颜色和可绘制对象,因为在绑定视图上不需要这样做。但是,在将我的项目更新到 AndroidX 之后,我无法再使用该库了。

这就是我的

apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'

kapt {
generateStubs = true
}

implementation 'com.jakewharton:butterknife:10.0.0'
annotationProcessor 'com.jakewharton:butterknife-compiler:10.0.0'
kapt 'androidx.databinding:databinding-compiler:3.5.0-alpha02'
kapt 'com.android.tools.build.jetifier:jetifier-core:1.0.0-beta02'

ext.kotlin_version = '1.3.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"

AS 3.3.1

并这样称呼他们

 @JvmField
 @BindColor(R.color.just_pink)
 var pink: Int = 0

 @JvmField
 @BindDrawable(R.drawable.rectangle_pink_btn_all_radius)
 var rectanglePinkAllRadius: Drawable? = null

确保我的 onCreate 方法上有 Butterknife.bind(this, view)

感谢您的帮助。

在 Kotlin 中,您可以使用 Kotlin 注释处理工具 (kapt) 而不是 annotationProcessor,以类似于 Java 的方式指定依赖项。

所以替换

annotationProcessor 'com.jakewharton:butterknife-compiler:10.0.0'

有了这个

kapt 'com.jakewharton:butterknife-compiler:10.0.0'