美文网首页KotlinKotlin开发之旅
Kotlin重构如何兼容原先的ButterKnife、Event

Kotlin重构如何兼容原先的ButterKnife、Event

作者: 奔跑吧技术人 | 来源:发表于2019-01-14 18:02 被阅读58次

前言

如有以下情况,本节教程可能对你有帮助
1.如果原先项目用java写的,现在需要引入kotlin,这个时候你会碰到Java中的Butterknife点击事件失效了,以及EventBus3.1在编译期生成的索引文件找不到了。
2.如果整个工程都是Kotlin项目,你需要用到Butterknife的onClick功能或者EventBus事件总线。

环境以及工具

AndroidStudio3.1.4

效果展示

MainActivity.kt文件

   @BindView(R.id.ivLogo)
   lateinit var ivLogo: ImageView

   @OnClick(R.id.xxx)
    fun onViewClicked(view: View) {
        when (view.id) {
            R.id.tvForgotPassword -> {
            }
            R.id.tvCommit -> {
            }
            else -> {
            }
        }
    }

整体步骤

app build.gradle

用kotlin之前

dependencies {
    implementation "com.jakewharton:butterknife:8.8.1"
    annotationProcessor"com.jakewharton:butterknife-compiler:8.8.1"
    implementation "org.greenrobot:eventbus:3.1.1"
    annotationProcessor"org.greenrobot:eventbus-annotation-processor:3.1.1"
}

用kotlin之后

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

android {
}

dependencies {
    implementation "com.jakewharton:butterknife:8.8.1"
    kapt "com.jakewharton:butterknife-compiler:8.8.1"
    implementation "org.greenrobot:eventbus:3.1.1"
    kapt "org.greenrobot:eventbus-annotation-processor:3.1.1"
}

问题解决了,就可以看看下面的原理

Kotlin重构系列分享教程

Kotlin环境搭建
Kotlin重构如何兼容原先的ButterKnife、EventBus3.1

请关注我(分享日常开发)

相关文章

网友评论

    本文标题:Kotlin重构如何兼容原先的ButterKnife、Event

    本文链接:https://www.haomeiwen.com/subject/pndddqtx.html