Butterknife的使用讲解
简介
1、butterknife是注解中相对简单易懂的不错的开源框架:
a) -->强大的view绑定和click事件的处理功能,简化代码;
b)--> 方便处理adapter中的viewholder的绑定问题;
c) -->运行时不会影响app的效率,配置很方便;
d)-->代码清晰,可读性强;
2、下载地址
3、使用步骤:
a) -->安装Butterknife插件:
![](https://img.haomeiwen.com/i3078443/4c05eaaf180a6f33.png)
安装插件截图
b) --> 在整个项目的根目录的build.gradle的dependencies下编写:
classpath'com.neenbedankt.gradle.plugins:android-apt:1.8'//注解依赖
c) --> 在单个的module中build.gradle的dependencies下编写:
compile'com.jakewharton:butterknife:8.2.1'//注解相关
apt'com.jakewharton:butterknife-compiler:8.2.1'//注解相关
4、常用功能:(针对7.0版本的,8.0的具体格式跟7.0的类似)
1)省略findViewById():
a)-->在activity中使用:
![](https://img.haomeiwen.com/i3078443/b838bce777eda776.png)
备注:
设置布局的时候,必须写上:(activity是在oncreate方法中,fragment是在oncreateview方法中)
privateUnbinderunbinder;
unbinder= ButterKnife.bind(this);//绑定view
在ondestroy()的生命周期方法中写:
unbinder.unbind();//解除绑定的view;
注解下面的变量不能是private或者stattic的:例子:
@InjectView(R.id.butter_text_view_2)
TextView mTextView2;//此处的TextView不能是private或者stattic修饰的;
b)-->在fragment中使用:
![](https://img.haomeiwen.com/i3078443/e0c8b713f77e9bbc.png)
c)-->在adapter的Viewholder中使用:
![](https://img.haomeiwen.com/i3078443/a220f2c8448ccf30.png)
2)省略setOnClickListener()
a)-->单击事件的使用:
![](https://img.haomeiwen.com/i3078443/11b668493e556bb2.png)
b)-->多个按钮操作同一个业务的时候:
![](https://img.haomeiwen.com/i3078443/a2ff893d1aa596b9.png)
c)-->ListView的点击@OnItemClick, CheckBox的@OnCheckedChanged等也可以实现:
![](https://img.haomeiwen.com/i3078443/202cc83f3ba1be15.png)
![](https://img.haomeiwen.com/i3078443/b214726a65a8c1f8.png)
![](https://img.haomeiwen.com/i3078443/a4c9758d9def55a5.png)