butterknife的作用
在一般的开发过程中,是使用findVIewById来将布局文件里面的控件加入Activity里面的,这样和使用butterknife相比需要多写一些东西,接下来以为一个id为R.id.bt的按键绑定监听事件为例,分别讲述
使用findViewById():
Button bt;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
bt=(Button)findViewById(R.id.bt);
bt.setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
//点击事件
}
});
}
使用butterknife
需要指出的是,butterknife之前注入组件使用的是InjectView,我用的是7.0.1,里面换成了Bind,实际上没有发现差别:
首先要配置依赖,android studio支持Gradle依赖管理,在app目录下面的build.gradle里面加上一句话就行
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:appcompat-v7:22.2.0'
compile 'com.jakewharton:butterknife:7.0.1'
}
接下来导入三个类
import butterknife.Bind;
import butterknife.OnClick;
import butterknife.ButterKnife;
写代码:
@Bind(R.id.bt) Button bt;//这个就将按钮导入了,实际上只是绑定监听器这个可以不要
@OnClick(R.id.bt)
void bt_click(View v)//名字可以随便起,但是不能是private和static的
{
//点击事件
}
还有很多功能参加这两位大神的文章
ButterKnife基本使用(这个很详细但是比较老了,很多和最新的不一样)
http://www.cnblogs.com/mengdd/archive/2015/06/23/4595973.html
eclipse 使用butterknife注解
http://blog.sina.com.cn/s/blog_5da93c8f0102wdrq.html
githup 上面的
https://github.com/JakeWharton/butterknife