前言
Android视图的字段和方法绑定,使用注释处理为您生成样板代码。
GitHub
https://github.com/JakeWharton/butterknife
1. adding compileOptions
对应module build.gradle 文件添加 添加Java8支持
android {
...
// Butterknife requires Java 8.
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
2. adding dependencies
10版本支持Android X 我们可以选择降版本使用
implementation 'com.jakewharton:butterknife:10.2.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:10.2.1'
implementation 'com.jakewharton:butterknife:8.8.0'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.0'
3. butterknife as plugin
AS IDE 添加插件
4. 插件使用快捷生成代码
选中我们要使用
5. 生成代码说明
@BindView(R.id.act_main_name_tv)
TextView actMainNameTv;
@BindView(R.id.act_main_avatar_iv)
ImageView actMainAvatarIv;
@BindView(R.id.act_main_btn)
Button actMainBtn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ButterKnife.bind(this);
}
@OnClick(R.id.act_main_btn)
public void onViewClicked() {
}
class ViewHolder {
@BindView(R.id.act_main_name_tv)
TextView actMainNameTv;
@BindView(R.id.act_main_avatar_iv)
ImageView actMainAvatarIv;
@BindView(R.id.act_main_btn)
Button actMainBtn;
ViewHolder(View view) {
ButterKnife.bind(this, view);
}
}