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的基本使用,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
# butterknife的使用
# butterknife注解
# Android用注解与反射实现Butterknife功能
# Android中butterknife的使用与自动化查找组件插件详解
# 详解Android Studio安装ButterKnife插件(手动安装)
# Android Studio使用ButterKnife和Zelezny的方法
# Android Kotlin环境使用ButterKnife的方法
# Android Studio中ButterKnife插件的安装与使用详解
# 解决Android Studio 3.0 butterknife:7.0.1配置的问题
# Android注解使用之ButterKnife 8.0详解
# Android ButterKnife依赖注入框架使用教程
# 第一个
# 小编
# 放在
# 鼠标
# 子类
# 在此
# 你说
# 右键
# 就行
# 也很
# 给大家
# 本是
# 所述
# 给我留言
# 年中
# 感谢大家
# 右击
# 其实很简单
# 别着急
# 疑问请
相关文章:
C#怎么创建控制台应用 C# Console App项目创建方法
贸易公司网站制作流程,出口贸易网站设计怎么做?
海南网站制作公司有哪些,海口网是哪家的?
如何在云虚拟主机上快速搭建个人网站?
湖北网站制作公司有哪些,湖北清能集团官网?
广州营销型建站服务商推荐:技术优势与SEO优化解析
,怎么在广州志愿者网站注册?
如何用腾讯建站主机快速创建免费网站?
网站规划与制作是什么,电子商务网站系统规划的内容及步骤是什么?
建站之星导航配置指南:自助建站与SEO优化全解析
如何快速搭建自助建站会员专属系统?
小建面朝正北,A点实际方位是否存在偏差?
天津个人网站制作公司,天津网约车驾驶员从业资格证官网?
高防服务器租用如何选择配置与防御等级?
如何通过虚拟机搭建网站?详细步骤解析
宝塔新建站点报错如何解决?
如何自定义建站之星模板颜色并下载新样式?
建站之星如何一键生成手机站?
寿县云建站:智能SEO优化与多行业模板快速上线指南
开心动漫网站制作软件下载,十分开心动画为何停播?
为什么Go需要go mod文件_Go go mod文件作用说明
公司网站制作价格怎么算,公司办个官网需要多少钱?
详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)
胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?
定制建站流程步骤详解:一站式方案设计与开发指南
道歉网站制作流程,世纪佳缘致歉小吴事件,相亲网站身份信息伪造该如何稽查?
建站之星2.7模板:企业网站建设与h5定制设计专题
c++23 std::expected怎么用 c++优雅处理函数错误返回【详解】
如何高效利用200m空间完成建站?
电商网站制作公司有哪些,1688网是什么意思?
香港服务器网站推广:SEO优化与外贸独立站搭建策略
,怎么用自己头像做动态表情包?
PHP 500报错的快速解决方法
如何用5美元大硬盘VPS安全高效搭建个人网站?
如何通过免费商城建站系统源码自定义网站主题与功能?
常州自助建站:操作简便模板丰富,企业个人快速搭建网站
建站与域名管理如何高效结合?
如何通过网站建站时间优化SEO与用户体验?
如何高效利用亚马逊云主机搭建企业网站?
盐城做公司网站,江苏电子版退休证办理流程?
网站制作难吗安全吗,做一个网站需要多久时间?
建站之星CMS建站配置指南:模板选择与SEO优化技巧
高防网站服务器:DDoS防御与BGP线路的AI智能防护方案
山东云建站价格为何差异显著?
哈尔滨网站建设策划,哈尔滨电工证查询网站?
如何做网站制作流程,*游戏网站怎么搭建?
建站10G流量真的够用吗?如何应对访问高峰?
javascript中对象的定义、使用以及对象和原型链操作小结
如何选择服务器才能高效搭建专属网站?
建站之星微信建站一键生成小程序+多端营销系统
*请认真填写需求信息,我们会在24小时内与您取得联系。