安卓开源库ButterKnife的基本使用

原创 2016年08月29日 21:03:00

1.project-level build.gradle里加上

buildscript {
  repositories {
    mavenCentral()
   }
  dependencies {
    classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
  }
}


2.在gradle(module)里加上

apply plugin: 'android-apt'

android {
  ...
}

dependencies {
  compile 'com.jakewharton:butterknife:8.2.1'
  apt 'com.jakewharton:butterknife-compiler:8.2.1'
}

3. 基本使用1

1)替换对象

public void bind(ExampleActivity activity) {
  activity.subtitle = (android.widget.TextView) activity.findViewById(R.id.subtile);
  activity.footer = (android.widget.TextView) activity.findViewById(R.id.footer);
  activity.title = (android.widget.TextView) activity.findViewById(R.id.title);
}

2)等效的替换代码

class ExampleActivity extends Activity {
  @BindView(R.id.title) TextView title;
  @BindView(R.id.subtitle) TextView subtitle;
  @BindView(R.id.footer) TextView footer;

  @Override public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.simple_activity);
    ButterKnife.bind(this);
  }
}

4. 基本使用之viewholder

public class MyAdapter extends BaseAdapter {
  @Override public View getView(int position, View view, ViewGroup parent) {
    ViewHolder holder;
    if (view != null) {
      holder = (ViewHolder) view.getTag();
    } else {
      view = inflater.inflate(R.layout.whatever, parent, false);
      holder = new ViewHolder(view);
      view.setTag(holder);
    }

    holder.name.setText("John Doe");

    return view;
  }

  static class ViewHolder {
    @BindView(R.id.title) TextView name;
    @BindView(R.id.job_title) TextView jobTitle;

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

参考


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

安卓开源库之动画篇

本文主要介绍收集了笔者所用过的开源动画库,达到一些比较好看的效果。一个富有动感的 Sheet链接:zzz40500/AndroidSweetSheet: 一个富有动感的Sheet(选择器)效果如下示例...

github上的安卓开源库汇总

原文地址:http://blog.gaoqixhb.com/p/54d777f6bcc4f618501a9306 github上的安卓开源库汇总  luoyjx 2015-02-0...

github上的安卓开源库汇总

本文转自:http://blog.gaoqixhb.com/p/54d777f6bcc4f618501a9306 ibs Table of contents Framew...

github上的安卓开源库汇总

Libs Table of contents FrameworkEventBusOrmImage LoadingAnimationsNetworkWidget MaterialUITex...

安卓开源还是封闭之我见

进入正题前先声明,本人非苹果粉,更非谷歌粉,写这篇文章只是为了从一个理性的角度总结一下。 Android是一款时下热门的流行的同时不得不说又是保守争议的手机操作系统,在这篇文章里,我们主要简单阐...

安卓开源日历

  • 2016年04月01日 14:14
  • 535KB
  • 下载

[Android]_[注解库butterknife的基本使用]

butterknife注解库众所周知,传统安卓开发中都是通过findViewById()这个函数来获取xml中控件的实例进而改变控件或添加点击事件,但是在较多控件的情况下这项工具很繁琐,所以butte...

eventbus和butterknife的基本使用

  • 2017年07月17日 15:55
  • 8.5MB
  • 下载

安卓开源的JazzyViewPager

  • 2015年07月05日 09:27
  • 697KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:安卓开源库ButterKnife的基本使用
举报原因:
原因补充:

(最多只允许输入30个字)