美文网首页androidAndroid知识Android开发
Android Butterknife 8.5.1 最新使用详解

Android Butterknife 8.5.1 最新使用详解

作者: wildma | 来源:发表于2017-07-23 15:32 被阅读108次

转载请注明出处:http://www.jianshu.com/p/3913cd5182e6

前言

以前我们会在代码中写很多findViewById以及setOnClickListener等代码,不仅写起来麻烦,看起来也不整洁。现在我们用View注入框架ButterKnife就能解决这些问题。

ButterKnife的github地址:https://github.com/JakeWharton/butterknife

添加依赖

1,在项目的的build.gredle 文件中的dependencies标签内添加如下:

classpath 'com.jakewharton:butterknife-gradle-plugin:8.5.1'

如图所示:


2,在Module的的build.gredle 文件中的最上面添加如下:

apply plugin: 'com.jakewharton.butterknife'

3,在Module的的build.gredle 文件中的dependencies标签内添加如下:

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

如图所示:


使用

例如在布局文件中我们有个控件tv_text需要绑定

<TextView
        android:id="@+id/tv_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello World!"/>

则我们需要在代码中添加如下代码

1,绑定activity

ButterKnife.bind(this);

2,绑定控件id

@BindView(R.id.tv_text)
    TextView mTvText;

3,使用该控件,如下图所示

如果是绑定fragment,则添加如下代码

ButterKnife.bind(this, view);

如果是绑定RecyclerView的item,则在ViewHolder中添加如下代码

public class ViewHolder extends RecyclerView.ViewHolder {

        @BindView(R.id.tv_day)
        TextView     mTvDay;

        public ViewHolder(View itemView) {
            super(itemView);
            ButterKnife.bind(this, itemView);
        }
    }

配合Butterknife插件使用更简单

让我们写上面的代码还是比较麻烦的,高手都是用插件的。使用步骤如下:

插件的安装

1,在settings中搜索插件Zelezny

2,点击安装,安装后需要重启android studio

插件的使用

1,选中布局文件,点击右键,选择Generate->Generate Butterknife Injections->Confirm,如图:

2,点击Confirm后,会自动生成BindView等代码:

OK,Butterknife使用就到这里结束。

相关文章

网友评论

    本文标题:Android Butterknife 8.5.1 最新使用详解

    本文链接:https://www.haomeiwen.com/subject/mqdmkxtx.html