目录
ButterKnife是目前常用的一种依托Java注解机制实现辅助代码生成的框架,用到了注解处理器用到了注解,它是一个专注于Android系统的View注入框架,将Android视图和回调方法绑定到成员变量和方法上;
可视化一键生成;可以减少大量的findViewById以及setOnClickListener代码,是注解中相对简单易懂的开源框架 。
原理
利用了IOC的(Inverse of Controll)控制反转结构,2004年后改名为DI(dependency injection)依赖注入。目的是为了使类与类之间解耦合,提高系统的可扩展性和可维护性。
使用步骤
引入依赖
在build.gradle文件添加如下
dependencies {
implementation 'com.jakewharton:butterknife:10.2.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:10.2.1'
}
具体java文件
在java文件中添加
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import butterknife.Unbinder;
@BindView(R.id.h_back)
ImageView hBack;
@BindView(R.id.h_head)
ImageView hHead;
@BindView(R.id.user_line)
ImageView userLine;
@BindView(R.id.user_name)
TextView userName;
@BindView(R.id.user_val)
TextView userVal;
private Unbinder bind;
在onCreate方法中添加
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_person_main);
bind = ButterKnife.bind(this);
}
在点击方法上添加
@OnClick({R.id.about,R.id.version,R.id.lishi,R.id.shoucang})
在销毁方法上添加
@Override
protected void onDestroy() {
super.onDestroy();
bind.unbind();
}