添加依赖
compile 'com.jakewharton:butterknife:8.6.0'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.6.0'
//下载最新黄油刀
implementation 'com.jakewharton:butterknife:10.2.0'
annotationProcessor 'com.jakewharton:butterknife-compiler:10.2.0'
使用
初始化
ButterKnife.bind(this);
绑定view
@BindView(R.id.testte)
TextView tvColor;
绑定监听
@OnClick({R.id.activity_goods_address_left_layout, R.id.activity_goods_address_right_layout})
public void onClick(View view) {switch (view.getId()) {case R.id.activity_goods_address_left_layout:finish();break;case R.id.activity_goods_address_right_layout://添加Intent chooseStyle = new Intent(OrderAddressActivity.this, EditGoodsAddressActivity.class);startActivityForResult(chooseStyle, 401);break;}
}
@OnLongClick( R2.id.button1 ) //给 button1 设置一个长按事件 public boolean showToast2(){ Toast.makeText(this, "is a long click", Toast.LENGTH_SHORT).show(); return true ; }
@OnCheckedChanged({R.id.rg_home,R.id.rg_wealth,R.id.rg_account}) public void OnCheckedChangeListener(CompoundButton view, boolean ischanged ){ switch (view.getId()) { case R.id.rg_home: if (ischanged){//注意:这里一定要有这个判断,只有对应该id的按钮被点击了,ischanged状态发生改变,才会执行下面的内容 //这里写你的按钮变化状态的UI及相关逻辑 } break; case R.id.rg_wealth: if (ischanged) { //这里写你的按钮变化状态的UI及相关逻辑 } break; case R.id.rg_account: if (ischanged) { //这里写你的按钮变化状态的UI及相关逻辑 } break; default: break; } }
- 绑定Bitmap 资源:@BindBitmap( )
@BindView(R.id.mytestview)
ImageView mytestview;@BindBitmap( R.mipmap.ic_launcher)//绑定Bitmap 资源
public Bitmap bitmap ;
mytestview.setImageBitmap(bitmap);
- 绑定string 字符串:@BindString()
@BindView(R.id.mytestte)
TextView mytestte;@BindString(R.string.app_name) //绑定资源文件中string字符串String str;
mytestte.setText(str);
- 绑定一个颜色值:@BindColor( )
@BindView(R.id.mytestte)
TextView mytestte;@BindColor( R.color.colorAccent ) //具体色值在color文件中int black ; //绑定一个颜色值
mytestte.setTextColor(black);
- 绑定string里面array数组:@BindArray()
<string-array name="city"><item>北京市</item><item>天津市</item><item>哈尔滨市</item><item>大连市</item><item>香港市</item>
</string-array>
@BindView(R.id.mytestte)
TextView mytestte;@BindArray(R.array.city) //绑定string里面array数组String [] citys ;
mytestte.setText(citys[2]);