Android Studio 3.0.0以上butterknife使用问题

将Android Studio升到3.0.0以上时,butterknife就不好用了,这里记下自己遇到的坑,希望能帮到更多的人。Android Studio 3.0.0以上butterknife使用问题

这里就是一个很简单的布局,一个Button。然后在项目的build.gradle添加依赖。

compile "com.jakewharton:butterknife:8.8.1"
Android Studio 3.0.0以上butterknife使用问题

通过butterknife,并将Button进行监听,运行。

Android Studio 3.0.0以上butterknife使用问题

是的,会报空指针。在项目的build.gradle继续添加依赖

Android Studio 3.0.0以上butterknife使用问题

annotationProcessor "com.jakewharton:butterknife-compiler:8.8.1"
Android Studio 3.0.0以上butterknife使用问题

然后就可以了,但是在项目中很多都是继承于BaseActivity等等的,比如下面的写法,MainActivity继承于BaseActivity

Android Studio 3.0.0以上butterknife使用问题

Android Studio 3.0.0以上butterknife使用问题

添加了以上两个依赖后运行,依然会报空指针。修改BaseActivity如下,可以运行了。

Android Studio 3.0.0以上butterknife使用问题