今天創(chuàng)建新項(xiàng)目的時(shí)候發(fā)現(xiàn)bindView不管用了啸如,運(yùn)行報(bào)空指針錯(cuò)誤腥寇,所有的控件都在假裝自己沒(méi)有被bind成翩,非趁倮Γ可惡赦役。
網(wǎng)上一查,發(fā)現(xiàn)是一個(gè)非常常見的錯(cuò)誤:在app里的build.gradle里不能只寫compile栅炒,還要加apt掂摔。因?yàn)閎utterknife7.0之后引入了注解處理器(使用@等符號(hào)進(jìn)行注解),而不是之前的反射原理赢赊。簡(jiǎn)單的理解為乙漓,注解機(jī)制中需要引入butterknife-compiler來(lái)自動(dòng)生成的一些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'
}