一、依赖配置
1. 添加依赖
在项目的 build.gradle 中配置:
dependencies {
implementation 'com.jakewharton:butterknife:10.2.3'
annotationProcessor 'com.jakewharton:butterknife-compiler:10.2.3'
}
注意:若项目使用 AndroidX,需确保版本 ≥ 8.0(旧版兼容 Support 库)
二、核心功能
1. 视图绑定
- 单个控件绑定
@BindView(R.id.btn_submit)
Button submitButton;
2. 事件绑定
@OnClick({R.id.btn_ok, R.id.btn_cancel})
void onButtonClick(Button btn) {
btn.setText("已点击");
}
3. Activity 中绑定
public class MainActivity extends AppCompatActivity {
@BindView(R.id.tv_title) TextView titleView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ButterKnife.bind(this); // 必须在 setContentView 后调用
titleView.setText("首页");
}
}
4. Fragment 中绑定
public class MyFragment extends Fragment {
@BindView(R.id.list_view) ListView listView;
private Unbinder unbinder;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_layout, container, false);
unbinder = ButterKnife.bind(this, view); // 返回 Unbinder 对象
return view;
}
@Override
public void onDestroyView() {
super.onDestroyView();
unbinder.unbind(); // 解绑防止内存泄漏
}
}
本文介绍了如何在Android开发中引入ButterKnife库,通过注解处理器简化视图绑定的过程,提升开发效率。主要涉及的依赖版本为:ButterKnife 8.7.0 和 butterknife-compiler 8.8.1。
2468

被折叠的 条评论
为什么被折叠?



