1.绑定普通控件
@Bind(R.id.tv2)
TextView textView2;
2.绑定字符串资源
@BindString(R.string.tv3)
String tv3Str;
3.绑定点击事件
//给btn2、btn3绑定点击事件 //使用注解给控件绑定点击事件,方法参数可以更灵活 @OnClick({R.id.btn2, R.id.btn3}) public void btn2Click(Button view) { Toast.makeText(MainActivity.this, "btn2Click---" + view.getText(), Toast.LENGTH_SHORT).show(); }
4.绑定ViewHolder
class ViewHolder { @Bind(R.id.username) TextView username; public ViewHolder(View itemView) { //username = (TextView) itemView.findViewById(R.id.username); //表示绑定itemView中的控件 ButterKnife.bind(this, itemView); } }
5.绑定Fragment中的控件
@Bind(R.id.tv) TextView tv; View view = inflater.inflate(R.layout.fg_layout, null); //TextView textView = (TextView) view.findViewById(R.id.tv); ButterKnife.bind(this, view);
6.初始化集合或者数组中的控件
//初始化集合中的控件 @Bind({R.id.tv1, R.id.tv2, R.id.tv3}) List<TextView> textViews; //初始化数组中的控件 @Bind({R.id.btn1, R.id.btn2, R.id.btn3}) Button[] buttons;
7.批量操作集合中的数据:
ButterKnife.Action<View> CHANGETEXTCOLOR = new ButterKnife.Action<View>() { //apply会遍历集合中所有的控件 //1.View表示集合中的控件 //2.index表示控件在集合中的下标 @Override public void apply(View view, int index) { Log.d("lenve", "apply: index:" + index); TextView view1 = (TextView) view; view1.setTextColor(textColors[index]); } }; //批量操作集合/数组中的控件 //第一个参数表示控件的集合,第二个参数表示要对控件进行的修改 ButterKnife.apply(textViews, CHANGETEXTCOLOR);
8.解除绑定
//当Activity销毁时,解除控件的绑定 @Override protected void onDestroy() { super.onDestroy(); //解绑定 ButterKnife.unbind(this); }