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),点击会出现:
然后这样
选中的有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的基本使用,希望对大家有所帮助