准备在项目中使用ButterKnife框架,不再使用繁琐的findViewById。初使中也遇到了一些问题,记录下来以备后续使用。起初在AS工程通过动态依赖库添加了compile'com.jakewharton:butterknife:8.6.0'。也下载好了插件'Android ButterKnife Zelezny'准备进一步的偷懒。布局文件搭建好了,通过插件也快速实现了控件的注解
@BindView(R.id.addrEditText)
ClearEditText addrEditText;
@BindView(R.id.btnSelect)
Button btnSelect;
@BindView(R.id.contentView)
TextView contentView;
@BindView(R.id.noDataView)
TextView noDataView;
@BindView(R.id.toolBar)
Toolbar toolBar;
可是在使用的时候问题就来了,发现绑定注解的控件为null,没有被初始化。查找了很久才发现原因,原来“小刀”不同于一般的框架库,不能一懒到底,仍需要手动配置gradle文件。去https://github.com/JakeWharton/butterknife查看了配置,按照配置后绑定注解就正常了!
一.下载插件 'Android ButterKnife Zelezny'
二.框架环境配置
第一步:在第1层的build.gradle文件中配置butterknife工具的插件
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.jakewharton:butterknife-gradle-plugin:8.6.0'
}
}
第二步:在第2层的build.gradle文件中配置
apply plugin: 'com.jakewharton.butterknife'
dependencies {
compile 'com.jakewharton:butterknife:8.6.0'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.6.0'
}
通过这两步就将环境配置好了,就可以直接使用
在Studio升级到3.0以后,使用Butterknife的时候就会出现异常,最好还是使用8.4.0版本的进行兼容