关于ButterKnife使用时的一些问题
ButterKnife大家一定都很熟悉,多的我就不介绍了,这里我记录一个在使用过程中碰到的问题
在新的项目中引入ButterKnife,并且开始使用的时候,可能会碰到空指针异常,并且这个空指针报错信息一般都是
Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference
这样的类似于找不到布局中的id,或者相应的id为null
这个时候一般是配置出了问题,
检查我们配置ButterKnife的时候是否遗漏了什么。
一般配置ButterKnife的时候,首先要在项目的根build.gradle加上这个
dependencies {
classpath 'com.jakewharton:butterknife-gradle-plugin:10.1.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
其次就是在项目的app下的build.gradle加上
annotationProcessor 'com.jakewharton:butterknife-compiler:10.1.0'
我就是第二步忘记加了,所以导致了找不到对应的布局id(唉,粗心大意)
其他的也没啥值得注意的,唯一可能要注意的就是
在Activity 类中绑定 :ButterKnife.bind(this);必须在setContentView();之后绑定;且父类bind绑定后,子类不需要再bind。