尚硅谷_ButterKnife

ButterKnife 是注解中相对简答易懂的很不错的开源框架

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

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

 

 

 

【Android笔记】v10.2.3最新版ButterKnife的配置及使用

 Android Studio v4.0.1,
Gradle v6.1.1,
SDK 为Android 10.0+ ®.

 1. Android Studio添加依赖

1.1 build.gradle(Module:app)文件 

第一处:文件顶部添加插件。 

id 'com.jakewharton.butterknife'

 

 第二处:添加 compileOptions.

 第三处:添加 dependencies.

dependencies {
    ...
    // Butterknife
    implementation 'com.jakewharton:butterknife:10.2.3'
    annotationProcessor 'com.jakewharton:butterknife-compiler:10.2.3'
}

1.2 build.gradle(Project:xxx)文件 

buildscript {
    repositories {
        google()
        jcenter()
        //mavenCentral()
    }
    dependencies {
        classpath "com.android.tools.build:gradle:4.0.1"
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files

        //butterknife!!!添加这一条classpath
        classpath 'com.jakewharton:butterknife-gradle-plugin:10.2.3'
    }
}

3. ButterKnife 在项目中应用

3.1 @BindView() 绑定id

@BindView 一键生成全部需要 findViewById() 的控件对象。

首先,右键 setContentView() 设置的布局xml名字,点击Generate.

在这里插入图片描述

 在这里插入图片描述

 在这里插入图片描述

 类头部自动生成对象:

@BindView(R.id.edit_city)
EditText editCity;
@BindView(R.id.btn_simAlert)
Button btnSimAlert;

类尾部自动生成方法:

@OnClick(R.id.btn_comAlert)
public void onViewClicked() {
}

3.2 @OnClick Button点击事件

3.3 @OnClick RadioButton点击事件

3.4 @OnCheckedChanged CheckBox点击事件

3.5 @OnPageChange ViewPager事件监听

package com.example.testapplication;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.TextView;
import android.widget.Toast;

import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;


public class ButterknifeActivity extends Activity {
    @BindView(R.id.bt_butterknife)
    Button btn;
    @BindView(R.id.tv_title)
    TextView tvTitle;
    @BindView(R.id.tv_butterknife)
    TextView tvButterknife;
    @BindView(R.id.cb_butterknife)
    CheckBox cbButterknife;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_butterknife);

        ButterKnife.bind(this);


        initData();

    }

    @OnClick(R.id.bt_butterknife)
    void btnClick(View view) {
        Toast.makeText(ButterknifeActivity.this, "点击了", Toast.LENGTH_SHORT).show();
    }
    @OnClick(R.id.cb_butterknife)
    void btnCherch(View view){
        Toast.makeText(ButterknifeActivity.this, "点击了checkbox", Toast.LENGTH_SHORT).show();
    }
    

    private void initData() {
        tvTitle.setText("插件难搞");
        tvButterknife.setText("butterknife版本问题");

    }


}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值