Android butterknife注解框架

原创 2015年11月21日 15:19:16

欢迎大家访问我的博客http://blog.csdn.net/mikejaps,专注于android ios  app 开发


首先提下ButterKnifey已经更新到版本7.0.1了,现在注解已经不叫@InjectView了,而叫@Bind,感觉更贴合语义。同时注册的方式也从

ButterKnife.inject(this);

变成了
ButterKnife.bind(this);

关于7.0.1的ButterKnife的各种用法和功能,可以参考ButterKnife的github上的主页:

http://jakewharton.github.io/butterknife/

//activity中使用

public class MainActivity extends Activity {
 
  @InjectView(R.id.tv_test)
  TextView tvTest;
  @OnClick(R.id.submit)
  public void sayHi(Button button) {
    button.setText("Hello!");
  }																   																   @Override
  public void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     setContentView(R.layout.activity_main);
     ButterKnife.inject(this);
     tvTest.setText("test");
  }
 
  @OnClick(R.id.tv_test)
  public void sayHi() {
     tvTest.setText("Hello!");
  }
}
// fragment中使用
public class FancyFragment extends Fragment {

@InjectView(R.id.button1) Button button1;

@InjectView(R.id.button2) Button button2;

 

  @Override View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

    View view = inflater.inflate(R.layout.fancy_fragment, container, false);

    ButterKnife.inject(this, view);

   // TODO Use "injected" views...

    return view;

 }

 

 @Override void onDestroyView() {

   super.onDestroyView();

   ButterKnife.reset(this);

  }

}
//adpter中使用

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");

// etc..
return convertView;

}

 
static class ViewHolder {

    @InjectView(R.id.title) TextView name;

    @InjectView(R.id.job_title) TextView jobTitle;

 

    public ViewHolder(View view) {

       ButterKnife.inject(this, view);

    }

  }

}

butterknife.jar 下载地址:点击打开链接

Android注解神器ButterKnife使用说明

我的简书原文链接 阅读本文大概需要5分钟 前言如果你还在一行一行的手写findViewById的话,只能证明你对新技术的敏感度太差,间接地暴露了你不善于接受新事物的性格特征,太过于因循守旧、按部就...
  • Violet_yang
  • Violet_yang
  • 2016年07月13日 14:35
  • 1121

Android 注解的使用 xUtils3和ButterKnife控件的注解注入对比

Java注解的定义: java注解(Annotation),是JDK1.5开始加入的源代码的一种特殊语法元信息。可以用于标注Java语言中的类、方法、变量、参数和包,然后在编译或运行时进行解析和使用,...
  • alcoholdi
  • alcoholdi
  • 2017年03月06日 21:12
  • 747

android注解Butterknife的使用及代码分析

Android另一款注解框架,ButterKnife的使用介绍及代码分析。 使用方式: 导入Butterknife的jar包。 不需要修改配置文件有木有,超级简单有木有,→_→添加Andro...
  • myislijingjing
  • myislijingjing
  • 2017年05月31日 14:57
  • 220

Android注解框架对比

转载请注明出处:  Java的注解(Annotation)相当于一种标记,在程序中加入注解就等于为程序打上某种标记,标记可以加在包,类,属性,方法,本地变量上。 然后你可以写一个注解处理器去解析处理这...
  • p892848153
  • p892848153
  • 2015年12月30日 11:13
  • 8556

Android Studio使用ButterKnife注解 出现空指针异常解决办法

问题描述最近看了butterknife注解想要学习一下于是写了一个简单的demo,用的依赖版本为‘com.jakewharton:butterknife:8.0.1’:写完之后运行项目,运行报错,提示...
  • zhangsx101
  • zhangsx101
  • 2016年08月08日 13:54
  • 2928

编译时注解Butterknife源码详解之初入篇(雷惊风)

今天是阳历3月8号,在此祝所有女士们节日快乐啊,本来我是不知道今天是节日的,早晨上班,看见领导在群里发红包,这年头,谁还看红包上写的啥,年会开挂抢红包,都没抢多少,二话没说就抢了,后来才看到红包上的内...
  • liuyonglei1314
  • liuyonglei1314
  • 2017年03月08日 12:35
  • 541

在Kotlin的语言环境下使用ButterKnife框架

在学习Kotlin开发Android应用的过程中,势必要配合很多Android的开源框架一起使用,而ButterKnife是其中可能会经常用到的一个框架。 但是如果在Kotlin中直接使用But...
  • jasoncol_521
  • jasoncol_521
  • 2015年11月05日 15:14
  • 5984

ButterKnife的使用以及自定义注解实例化控件

现在网上有很多自定义注解,主要就是为了先原先的实例化控件太麻烦了,于是有了各种的注意,但是我这里介绍一个插件一键生成,不需要手写。 配置方法如下 打开Android Studio的File->Pr...
  • fzkf9225
  • fzkf9225
  • 2017年05月24日 14:44
  • 434

注解式框架ButterKnife的用法及在adapter中使用的优化

注解式框架的使用将会大大简化代码编写量,提升开发效率,主流的注解式框架有Dagger,ButterKnife,AndrodAnnotations。AndrodAnnotations配置麻烦,需要在项目...
  • zpc5925439
  • zpc5925439
  • 2015年06月26日 15:09
  • 4431

Android开发之手把手教你写ButterKnife框架(一)

本系列文章的主要内容如下: 1,ButterKnife是什么? 2,ButterKnife的作用和功能介绍。 3,ButterKnife的实现原理。 4,自己动手实现个ButterKnife。...
  • johnny901114
  • johnny901114
  • 2016年09月25日 15:32
  • 3041
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android butterknife注解框架
举报原因:
原因补充:

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