欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android注解ButterKnife的基本使用

程序员文章站 2024-02-22 18:32:16
butterknife的最新版本是8.4.0。 首先,需要导入butterknife的jar包。 在androidstudio中,file->project st...

butterknife的最新版本是8.4.0。

首先,需要导入butterknife的jar包。

在androidstudio中,file->project structure->dependencies->library dependency 搜索butterknife即可,第一个就是.

另外一种就是直接在build:grade(app)dependencies里添加:

compile 'com.jakewharton:butterknife:8.4.0' 
annotationprocessor 'com.jakewharton:butterknife-compiler:8.4.0' 

ok,现在正式开始使用吧,用法也很简单

在activity子类的oncreate()方法里使用butterknife.bind(this);即可

protected void oncreate(bundle savedinstancestate) { 
    super.oncreate(savedinstancestate); 
    setcontentview(r.layout.activity_main); 
    butterknife.bind(this); 
    tv1.settext("hi!sy") 

注意:一定要在setcontentview之后写。

再然后,把光标放在r.layout.activity_main上,鼠标右击,选中generate...(alt+insert),点击会出现:

Android注解ButterKnife的基本使用

然后这样

Android注解ButterKnife的基本使用

选中的有textview点击事件和findviewbyid的注解,点击confirm就成功了!

什么,你说没有,别着急,你需要安装一个小插件(不要嫌麻烦,其实很简单,一劳永逸)

androidstudio->file->settings->plugins->搜索zelezny下载添加就行 ,可以快速生成对应组件的实例对象,不用手动写。

使用时,在要导入注解的activity 或 fragment 或 viewholder的layout资源代码上,右键——>generate——generate butterknife injections。

源码

public class mainactivity extends activity { 
   @bindview(r.id.tv_time) 
  textview tvtime; 
  @bindview(r.id.activity_main) 
  relativelayout activitymain; 
  @bindview(r.id.tv_cal) 
  textview tvcal; 
  @bindview(r.id.tv_date) 
  textview tvdate; 
  time time; 
  @override 
  protected void oncreate(bundle savedinstancestate) { 
    super.oncreate(savedinstancestate); 
    setcontentview(r.layout.activity_main); 
    butterknife.bind(this); 
    tvtime.settext("time类"); 
    tvcal.settext("calender类"); 
    tvdate.settext("date类"); 
    inittime(); 
  } 
  private void inittime() { 
    time = new time(); 
    time.settonow(); 
  } 
  @onclick({r.id.tv_cal, r.id.tv_date,r.id.tv_time}) 
  public void onclick(view view) { 
    switch (view.getid()) { 
      case r.id.tv_time://点击第一个 
        string times = time.year + "年" + time.month + "月" + time.monthday 
            + "日" + time.hour + "时" + time.minute + "分" + time.second + "秒" 
            + ":现在是一年中的第" + time.yearday + "天"; 
        toast.maketext(this, time.getcurrenttimezone() + times, toast.length_short).show(); 
        tvtime.settext(times); 
        break; 
      case r.id.tv_cal: 
        break; 
      case r.id.tv_date: 
        break; 
    } 
  } 
  @override 
  protected void ondestroy() { 
    super.ondestroy(); 
//    unbinder unbinder=butterknife.bind(this); 
//    unbinder.unbind(); 
    butterknife.bind(this).unbind(); 
  } 
} 

以上所述是小编给大家介绍的android注解butterknife的基本使用,希望对大家有所帮助