Butter Knife 8.8.1的安装和使用

介绍

在开发过程中,我们总是会写大量的findViewById和点击事件,像初始view、设置view监听这样简单而重复的操作让人觉得特别麻烦。ButterKnife大大简化了这些操作

优势

1.强大的View绑定和Click事件处理功能,简化代码,提升开发效率
2.方便的处理Adapter里的ViewHolder绑定问题
3.运行时不会影响APP效率,使用配置方便
4.代码清晰,可读性强

源码地址,说明文档,API地址

源码地址:https://github.com/JakeWharton/butterknife
英文使用说明地址:http://jakewharton.github.io/butterknife/
API文档地址:http://jakewharton.github.io/butterknife/javadoc/

项目配置

在module的build.gradle 文件中的dependencies标签中添加代码如下(导入库的依赖)

compile 'com.jakewharton:butterknife:8.8.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'

代码中简单使用

xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                xmlns:tools="http://schemas.android.com/tools"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                tools:context=".MainActivity">

    <Button
        android:id="@+id/button"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Button"
        />

</RelativeLayout>

java

public class MainActivity extends Activity {
    @BindView(R.id.button) Button button;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ButterKnife.bind(this);

        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Toast.makeText(getBaseContext(),"Test",Toast.LENGTH_SHORT).show();
            }
        });
    }
}

关键代码其实就两句话

绑定View

@BindView(R.id.button) Button button;

绑定ButterKnife

ButterKnife.bind(this);

注意
1、由于每次使用都要在Activity中的onCreate绑定Activity,因此可以在项目的BaseActivity中完成绑定,子类继承即可
2、必须在setContentView();之后绑定

这样ButterKnife的最基本使用你已经掌握了

绑定点击事件

	@OnClick({R.id.ll_product_name, R.id.ll_product_lilv})  
    public void onViewClicked(View view) {  
        switch (view.getId()) {  
            case R.id.ll_product_name:  
                System.out.print("我是点击事件1");  
                break;  
            case R.id.ll_product_lilv:  
                System.out.print("我是点击事件2");  
                break;  
        } 

原文

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值