我仍然在我的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)
。
感谢您的帮助。
答案 0 :(得分:3)
在Kotlin中,您可以使用Kotlin注释处理工具(kapt)而不是注解处理器,以类似于Java的方式指定依赖项。
因此替换
annotationProcessor 'com.jakewharton:butterknife-compiler:10.0.0'
与此
kapt 'com.jakewharton:butterknife-compiler:10.0.0'