ButterKnife使用注解方式得到控件和设置点击事件。不必再findViewById和setOnClickListener了。简化了代码,结构清晰。而且提供了快捷生成方式。方便开发。但是新手在使用ButterKnife时会遇到一些问题,接下来记录ButterKnife在Activity中的使用。
一、配置(Android Gradle插件版本小于2.2)
1.导入依赖(选中项目按F4键或者按照以下步骤)
File-Project Structure-Denpendies-Library denpency,输入butterknife一般第一个就是,点击ok,同步即可。
2.在app/build.gradle加入一句话
dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:23.2.1' compile 'com.android.support:support-v4:23.2.1' compile files('libs/Rong_IMKit.jar') compile 'com.jakewharton:butterknife:8.4.0' apt 'com.jakewharton:butterknife-compiler:8.4.0'//增加此句 }
3.在app/build.gradle加入一句话
apply plugin: 'com.android.application' apply plugin: 'android-apt'//增加此句4.在project的build.gradle文件中加入一句话
dependencies { classpath 'com.android.tools.build:gradle:2.1.2' classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8' //增加这一句到此配置完毕,应该就可以使用了。
二、使用:
@BindView(R.id.tv_date) TextView tv_date; @BindView(R.id.lv) ListView lv;在setContentView方法后ButterKnife.bind(this);
@OnClick(R.id.btn)//点击事件 public void check(){ //... }
运行以下应该ok了。
补充:
前段时间看了一篇博客,发现自从Gradle插件2.2以后,Android Gradle插件提供了annotationProcessor来代替 android-apt,配置也变简单了:直接在moudle下的build.gradle的dependies模块中添加一下两行就可以了
compile 'com.jakewharton:butterknife:8.5.1' annotationProcessor 'com.jakewharton:butterknife-compiler:8.5.1'参考: 你必须知道的APT、annotationProcessor、android-apt、Provided、自定义注解
三、附加:一键生成
Android Studio安装ButterKnife插件
动态图参考:http://blog.csdn.net/jdsjlzx/article/details/49101433
File-Setting-plugins-输入ButterKnife-点击Browse-点击右侧的安装后-Ok,重新启动Studio就可以使用一键生成了。
选中布局文件--alt+insert--Generate ButterKnife Injections(快捷键:Ctrl+Shift+B)
注意:在fragment和其他类中的使用略有区别。