ButterKnife的使用

ButterKnife是一个应用于Android系统的View注入框架,可以减少大量的findViewById以及setOnClickListener代码
优势:
1) 代码清晰,可读性强。
2) 简化Adapter中ViewHolder绑定。
3) 运行时不会影响APP效率,使用配置方便。

4) View绑定和Click事件处理功能,简化代码,提高开发效率。  Ctrl+F9: AS编译的快捷键


配置:

1)项目的Gradle文件中:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.3.1'
        classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
    }
}

2)主Module中的Gradle文件

apply plugin: 'com.android.application'
apply plugin: 'android-apt'

3)添加依赖:

//ButterKnife 7.0.1对应sdk24
    compile 'com.jakewharton:butterknife:8.5.1'
    apt 'com.jakewharton:butterknife-compiler:8.5.1'

——————————————————————————————————————>

把当前Activity注入:点击事件

package com.example.administrator.retrofit2;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.Toast;

import butterknife.ButterKnife;
import butterknife.OnClick;

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        ButterKnife.bind(this);
    }


    @OnClick(R.id.btn_1)
    public void getData(){
        Toast.makeText(MainActivity.this, "测试", Toast.LENGTH_SHORT).show();
    }
}

实例化控件:

@BindView(R.id.et_login_number)
EditText metLoginNumber;
@BindView(R.id.et_login_password)
EditText metLoginPassword;

——————————————————————————————————————>

如果出现了空指针问题:

compile 'com.jakewharton:butterknife:'需要与编译的版本号所对应

如果是8.5.0的话,编译版本都改为24;如果是8.5.1,对应的编译器版本为25.

Butterknife的版本号需要与编译器的版本号对应,否则会报出空指针异常。

——————————————————————————————————————>

android-apt是什么?
android-apt 是一个Gradle插件(工具),协助Android Studio 处理注入式框架, 它有两个目的:
1)允许配置只在编译时作为注解处理器的依赖(编译时进行注解,而非运行时),而不添加到最后的APK或library
2)设置源路径(控件对应的R文件),使注解处理器生成的代码能被Android Studio正确的引用


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值