刚刚学习Android,也不知道算不算已经入门!但是总感觉自己没有什么提高,所以就把一些学习内容写一遍下来。

今天接触了ButterKnife这个第三方框架 GitHub地址:https://github.com/JakeWharton/butterknife

注:7.0.1之后的版本将已将@InjectView --->@Bind  Butterknife.inject()--->ButterKnife.bind()

ButterKnife不通过反射,而是通过预编译的方式实现,关键就是省事!入正题:

   @Bind(R.id.txt_title)
TextView txt_title;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ButterKnife.bind(this);
txt_title.setText("hello world");
}

监听注入:

   @OnClick(R.id.txt_title)
public void chage(TextView view){
Log.i("com.alger","hello ButterKnife");
}

还有Fragment注入、ViewHolder注入都大差不多

ButterKnife.bind(this,view)这个重载函数

 注意 在Fragment、ViewHolder注入时千万不能用ButterKnife.bind(view),报错,这个坑了我好久

最新版本8.2.1,发现gradle光写

compile 'com.jakewharton:butterknife:8.2.1’,点击时没什么效果,
需加入
项目gradle :
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'

模块gradle:
apply plugin: 'com.neenbedankt.android-apt'

apt 'com.jakewharton:butterknife-compiler:8.2.1'

有机会需要去学习一下apt

ButterKnife的简单使用的更多相关文章

  1. Android Study 之 初识ButterKnife(8.5.1)及简单运用

    LZ-Says:突然间不知道说什么好,祝大家编码无bug吧~ 前言 话说,Android开发的兄弟们都知道,每次初始化控件,设置对应的事件.写的那点过程多并且恶心.我们先一块回想下不堪的以前~ 那些年 ...

  2. 玩转ButterKnife注入框架

    在去年这个时候,我写过一篇介绍Android注解的文章android注解使用详解,这篇文章主要是介绍了Android中的AndroidAnnotations注入框架,AA框架有它自身的一些优点,这里不 ...

  3. 手写butterknife来剖析其原理

    基本使用: 对于butterknife库我想基本上都非常熟了,如今在项目中用它也用得非常之频繁了,不过为了学习的完整性,先来简单的回顾一下基本用法,先新建一个工程: 然后给textview增加一个点击 ...

  4. [旧][Android] ButterKnife 浅析

    备注 原发表于2016.05.08,资料已过时,仅作备份,谨慎参考 前言 自上星期写 Retrofit 写吐之后 ... 我问大队长能不能换个其他什么东西写,大队长就说了个单词 ButterKnife ...

  5. 使用编译时注解简单实现类似 ButterKnife 的效果

    这篇文章是学习鸿洋前辈的 Android 如何编写基于编译时注解的项目 的笔记,用于记录我的学习收获. 读完本文你将了解: 什么是编译时注解 APT 编译时注解如何使用与编写 举个例子 思路 创建注解 ...

  6. Kotlin编译时注解,简单实现ButterKnife

    ButterKnife在之前的Android开发中还是比较热门的工具,帮助Android开发者减少代码编写,而且看起来更加的舒适,于是简单实现一下ButterKnife,相信把下面的代码都搞懂,看Bu ...

  7. 史上最简单的ButterKnife配置教程

    网上的教程感觉都是抄来抄去,没一个靠谱的 还是自己丰衣足食搞一个ButterKnife配置教程吧.. 我的Android Studio版本是3.3. 1.dependencies中添加依赖 imple ...

  8. View注入框架:Butterknife简单使用

    View注入框架 下载地址 1.Activity Binging 通过@Bind凝视字段,Butter Knife能够通过View的ID自己主动找到并把对应的视图布局. class ExampleAc ...

  9. Android开发学习之路-使用annotationProcessor配置Butterknife

    Apt工具的作者宣布了不再维护该工具了,而且Android Studio也有了自己的插件,并且可以通过gradle来简单的配置. 其实用Butterknife的都知道,没有apt,onClick绑定不 ...

随机推荐

  1. MappedByteBuffer读写文件

    一. MappedByteBuffer java把文件映射到内存中,避免堆内存产生大对象引起full gc.mappedByteBuffer的读写速度都要超过堆内读写文件的速度 public clas ...

  2. mvc 权限管理 demo

    http://blog.csdn.net/zht666/article/details/8529646 new http://www.cnblogs.com/fengxing/archive/2012 ...

  3. [Android Exception 1A] -com.android.volley.NoConnectionError: java.io.InterruptedIOException

    - ::-/com.tongyan.tutelage W/System.err: com.android.volley.NoConnectionError: java.io.InterruptedIO ...

  4. PLSQL_查询SQL的执行次数和频率(案例)

    2014-12-25 Created By BaoXinjian

  5. Calculations are rather interesting

    Calculations are rather interesting, especially when some thoughts are involved therein.

  6. centos7扩展磁盘空间

    [root@hn ~]# fdisk /dev/sdb The device presents a logical sector size that is smaller thanthe physic ...

  7. webview--网络超时

    package com.test.js2java; import java.util.Timer; import java.util.TimerTask; import android.app.Act ...

  8. 【jQuery】关于选择器中的 :first 、 :first-child 、 :first-of-type

    [:first] <!DOCTYPE html><html lang="zh-CN"><head>    <title>test&l ...

  9. 聚合查询中的Group by

    2005版本以上的sql server 查询中如果既包含聚合函数列(诸如sum ,count,avg,max等)又存在一般列的情况,则查询字符串结尾必须包含Group By [某一般列].  其实微软 ...

  10. [ActionScript 3.0] AS3 时间日期格式化DateTimeFormatter类的运用

    import flash.globalization.DateTimeFormatter; var _timeFormatter:DateTimeFormatter; var _dateFormatt ...