Butterknife On Kotlin не работает для переплета цветов и Drawables AndroidX - PullRequest
0 голосов
/ 07 февраля 2019

Я все еще использую Butterknife в своем проекте Kotlin, но только для связывания цветов и рисования, так как в связующих представлениях это не требуется.Однако после обновления моего проекта до 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

Убедитесь, что у меня есть Butterknife.bind(this, view) в моем методе onCreate.

Спасибо за вашу помощь.

1 Ответ

0 голосов
/ 07 февраля 2019

В Kotlin вы определяете зависимости аналогично Java, используя инструмент обработки аннотаций Kotlin (kapt) вместо annotationProcessor.

Поэтому замените

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

с этим

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