Butterknife安装步骤:
- 首先要知道在Studio和项目中都需要安装butterknife插件;
因为这里边用到了注解,所以需要apt (下边会介绍),那么就需要在build.gradle中设置三处地方,否则会不生效或空指针错误
a、apply plugin:'android-apt'
b、 dependencies {
classpath 'com.android.tools.build:gradle:2.3.0'
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
}
两个build.gradle文件中任选其一放置即可
c、dependencies {
compile 'com.jakewharton:butterknife:8.5.1'
apt 'com.jakewharton:butterknife-compiler:8.5.1'
}
Butterknife使用时注意:
Activity ButterKnife.bind(this);必须在setContentView();之后,且父类bind绑定后,子类不需要再bind
Fragment ButterKnife.bind(this, mRootView);
属性布局的变量修饰符不能用private or static 修饰,否则会报错
setContentView()不能通过注解实现。
ButterKnife已经更新到版本7.0.1了,以前的版本中叫做@InjectView了,而现在改用叫@Bind,更加贴合语义。
在Fragment生命周期中,onDestoryView也需要Butterknife.unbind(this)
ButterKnife不能在你的library module中使用! 这是因为你的library中的R字段的id值不是final类型的,但你自己的应用module中确是final类型的。
- APT (Annotation Processing Tool )注解处理工具 :
可以在编译时处理注解,即在编译时期扫描处理源代码中的注解信息,并根据注解信息生成文件。Android上各种主流库都用了APT来实现,比如Dagger、ButterKnife、AndroidAnnotation、EventBus等。