继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

专注于Android系统的View注入框架ButterKnife

慕运维2858188
关注TA
已关注
手记 123
粉丝 63
获赞 512
简介

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
打开App,阅读手记
2人推荐
发表评论
随时随地看视频慕课网APP