ButterKnife

ButterKnife是一款用于Android开发的视图注入框架,它简化了View绑定和Click事件处理,提升了开发效率。该框架支持Activity和Fragment,并提供便捷的ViewHolder绑定方式,有助于改善APP性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ButterKnife官网:jakewharton.github.io/butterknife/

简介:ButterKnife是视图注入中相对简单易懂的很不错的开源框架

1. 强大的View绑定和Click事件处理功能,简化代码,提升开发效率

2. 方便的处理Adapter里的ViewHolder绑定问题

3. 提高APP运行效率,使用配置方便.

4. 代码清晰,可读性强

 

https://github.com/JakeWharton/butterknife

 

Setting->Plugins中输入butterknife添加插件:Android ButterKnife Aelezny


Module里的build.gradle里面添加:compile 'com.jakewharton:butterknife:7.0.1'    

注意:最新的版本,必须是Gradle版本24以上

 

优势:

1)省略findViewById()

Activity中使用:

过去:mTextView1 = (TextView) findViewById(R.id.butter_text_view_1);

现在:@Bind(R.id.butter_text_view_2)

     TextView mTextView2;

提示:在设置好布局之后调用:ButterKnife.inject(this);:

     View变量声明的时候不能为private或者static.

 

Fragment中使用:

     View view = inflater.inflate(R.layout.fragment_simple, container, false);

              ButterKnife.inject(this, view);//多了这一步

                     @Bind(R.id.fragment_text_view)

          TextView mTextView;

具体使用步骤如下:

1.gradle文件中进行关联,最好关联7.0版本

compile 'com.jakewharton:butterknife:7.0.1'
2.在OnCreate进行初始化,注意不同版本初始化的方法皆不一样,且注解控件的后缀名都不一样,7.0的初始化方法为:
		类对象
ButterKnife.bind(this);
如果想在Fragment中初始化并使用ButterKnife,则还需要传入一个View:
		类对象,容器对象
ButterKnife.bind(this,view);
3.使用注解,相当于findViewById
@Bind(R.id.tv_ButterKnife)
TextView tvBufferKnife;		= TextView tvBufferKnife = (TextView)findViewById(R.id.tv_BufferKnife);
4.使用注解,为控件设置点击事件
//让TextView具备了点击事件,同时参数里就可以找到这个TextView(只能在这个方法里使用其对象)
    //相当于及做了onClick点击事件,又做了findViewById.
    @OnClick(R.id.tv_BufferKnife)
也可以通过@OnClick({R.id.cb_butterknife,R.id.tv_activity_main_goto_next_page})的方式同时设置多个控件的点击事件,用switch查找id并写入具体代码:
public void onClick(View view){
    switch (view.getId()){
        case R.id.tv_activity_main_goto_next_page:
            //class字节码
            Intent intent = new Intent(MainActivity.this, Main2Activity.class);
            startActivity(intent);
            break;
        case R.id.cb_butterknife:
            Toast.makeText(MainActivity.this, "check_box", Toast.LENGTH_SHORT).show();
            break;
        default:
            break;
    }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值