今天创建新项目的时候发现bindView不管用了,运行报空指针错误,所有的控件都在假装自己没有被bind,非常可恶。
网上一查,发现是一个非常常见的错误:在app里的build.gradle里不能只写compile,还要加apt。因为butterknife7.0之后引入了注解处理器(使用@等符号进行注解),而不是之前的反射原理。简单的理解为,注解机制中需要引入butterknife-compiler来自动生成的一些code,不然只能假装被bind,所以在app的build.gradle中加入:
apply plugin: 'com.neenbedankt.android-apt'
...
dependencies {
...
compile 'com.jakewharton:butterknife:8.5.1'
apt 'com.jakewharton:butterknife-compiler:8.5.1'
}
网友评论