ButterKnife是一个专注于Android系统的View注入框架
作用可以减少大量的findViewById以及setOnClickListener代码
使用Id进行注解注意:button 的修饰类型不能是:private 或者 static 。 否则会报错
第一步 :
//绑定activity
ButterKnife.bind( this ) ;
第二步:
@BindView( R.id.button1 )
public Button button1 ;
多个控件id 注解: @BindViews()
定义一个成员为 Button 的 List,然后使用@BindViews方法传一个组件 ID数组
@BindViews({ R.id.button1 , R.id.button2 , R.id.button3 })
public List<Button> buttonList ;
....
ButterKnife.bind(this);
buttonList.get( 0 ).setText( "hello 1 ");
buttonList.get( 1 ).setText( "hello 2 ");
buttonList.get( 2 ).setText( "hello 3 ");
fragment 使用
fragment 需要传入view 视图
ButterKnife.bind( this , view ) ;
绑定 array字符串数组
@BindArray(R.array.city ) //绑定string里面array数组
String [] citys ;
....
button1.setText( citys[0] );
绑定事件
@OnClick(R.id.button1 ) //给 button1 设置一个点击事件
public void showToast(){
Toast.makeText(this, "is a click", Toast.LENGTH_SHORT).show();
}
@OnLongClick( R.id.button1 ) //给 button1 设置一个长按事件
public boolean showToast2(){
Toast.makeText(this, "is a long click", Toast.LENGTH_SHORT).show();
return true ;
}
插件
注意:要将光标放在 layout 文件上
zelezny