ButterKnife--View注入框架
俗话说,不会偷懒的程序员不是好程序员!作为一名Android的开发者,我们已经厌烦了经常写大量的findViewById以及setOnClickListener代码。而ButterKnife是一个专注于Android系统的View注入框架,让你从此从这些烦人臃肿的代码中解脱出来。
注意:如果你是使用的Eclipse引用该library,需要做一些配置(参考http://jakewharton.github.io/butterknife/ide-eclipse.html),否则会运行出错。
配置:
1.在官网上( http://jakewharton.github.io/butterknife/)下载jar包,放到项目的libs下。
2.配置eclipse.右击需要注解的项目-->Properties-->java Compiler-->Annotation Processin--> 钩一下 Enable project specific settings 其它的就会自动钩上了–> Factory Path ( 钩一下Enable project specific settings )–> 最后Add JARs 把刚刚项目libs下的jar包加进来。配置完成!
使用:
之前我们是这样写代码的:
使用ButterKnife之后的代码是这样的:
是不是非常简洁易用?下面系统的介绍下ButterKnife的用法。
Butter Knife 的特性
1.支持Activity中的View注入
2.支持View中的View注入
3.支持View事件回调函数注入
目前支持如下事件回调函数:
View: @OnLongClick and @OnFocusChanged.
- TextView: @OnEditorAction.
- AdapterView: @OnItemClick and @OnItemLongClick.
- CompoundButton: @OnCheckedChanged.
下面是一些注入的示例代码:
在Activity中注入
在Fragment中注入
在ViewHolder模式中注入
注入回调函数
下面是几种注入回调函数的方法示例:
Reset函数
如果需要在界面销毁的时候,把注入的View设置为Null,则可以用reset函数:
另外还支持可选的View注入,如果该View没有,就没有吧:
还有两个findViewById函数来简化查找View的方式,如果上面都满足不了你的需求,你可以用用他们:
最后,如果你是用Android Studio来作为IDE的话,那么有一个ButterKnife的插件android-butterknife-zelezny
该插件可以让你手动生成上述注入代码,从此让自己成为一个更懒惰的程序员吧。奋斗ing!
转载于:https://www.cnblogs.com/Joanna-Yan/p/4517100.html
ButterKnife--View注入框架相关推荐
- Android之ButterKnife--View注入框架
俗话说:"不会偷懒的程序员不是好的程序员!".作为一名Android开发,是不是经常厌烦了大量的findViewById以及setOnClickListener代码,而Butter ...
- Butter Knife:一个安卓视图注入框架
Butter Knife:一个安卓视图注入框架 2014年5月8日 星期四 14:52 官网: http://jakewharton.github.io/butterknife/ GitHub地址: ...
- 调用其他app 的lib_ButterKnife执行效率为什么比其他注入框架高?它的原理是什么...
面试官: ButterKnife为什么执行效率为什么比其他注入框架高?它的原理是什么 心理分析: ButterKnife框架一直都是使用,很少又开发者对butterknife深入研究的,既然你是面试A ...
- Android神匕首—Dagger2依赖注入框架详解
简介 Dagger-匕首,鼎鼎大名的Square公司旗下又一把利刃(没错!还有一把黄油刀,唤作ButterKnife) Dagger2 是一个Android依赖注入框架,由谷歌开发,最早的版本Dagg ...
- android组件浮动在activity上_Jetpack Hilt 依赖注入框架上手指南
code小生 一个专注大前端领域的技术平台公众号回复Android加入安卓技术群 作者:LvKang-insist 链接:https://juejin.im/post/5efdff9d6fb9a07e ...
- 依赖注入的三种方式_ASP.NET Core技术研究-探秘依赖注入框架
ASP.NET Core在底层内置了一个依赖注入框架,通过依赖注入的方式注册服务.提供服务.依赖注入不仅服务于ASP.NET Core自身,同时也是应用程序的服务提供者. 毫不夸张的说,ASP.NET ...
- ASP.NET Core技术研究-探秘依赖注入框架
ASP.NET Core在底层内置了一个依赖注入框架,通过依赖注入的方式注册服务.提供服务.依赖注入不仅服务于ASP.NET Core自身,同时也是应用程序的服务提供者. 毫不夸张的说,ASP.NET ...
- Kotlin依赖注入框架Koin的使用
一.引入Koin依赖 Koin是一款轻量级的依赖注入框架,根据官方的描述,它无代理,无代码生成,无反射. def koinVersion = "2.2.2"//Koin for a ...
- Android 依赖注入框架 Dagger2使用
前言 Dagger 2这个匕首确实很难上手,上手后又比较难瞬间掌握,可以这么说,刚开始使用就是用来尝(zhuang)鲜(X)的,但相信随着使用的加深,会不断体会到它对于整个项目架构的极强辅助作用,能使 ...
最新文章
- 版本信息文件、虚拟环境创建
- JavaWeb(一)——web服务器、Tomcat安装和配置
- mysql粘贴数据_Navicat 如何复制粘贴数据
- 最牛营业部——国信泰然九路揭秘
- Kafka本身的架构
- php 的cookie设置时间,php cookie时间设置的方法-PHP问题
- 无线路由器的配置实例
- C语言指定初始化器解析及其应用
- CC++中的时间函数和时间类
- 昇腾AI处理器软件栈--张量加速引擎(TBE)
- python学习(六)----文件和异常
- 分组 php库,纯真ip数据库查询的php实现(补充分组查询)
- 图形推理的50大规律
- 格签名困难假设: 最短向量问题SVP
- 龙果开源支付系统 架构全新升级
- 【语义分割】Smoothed Dilated Convolutions for Improved Dense Prediction阅读笔记
- 操作——【1.8 关于音高、时值、位置 】(二)
- 学习MySQL的第二天:SQL(基础篇)
- 大学cad课要用计算机么,cad2010大学课程
- 安卓使用服务完成音乐播放器
热门文章
- git没有changId解决方法
- c#正则表达式--环视
- Javascript作用域原理---预编译
- 循环控制结构程序05 - 零基础入门学习C语言20
- uiautomatorviewer 双击闪退问题解决
- Apache提示You don‘t have permission to access / on this server问题解决
- Springboot 抛出Failed to determine a suitable driver class异常原因
- ssh暴力破解解决方案
- 解决Jira和Confluence访问打开越来越缓慢问题
- 分布式事务之消息补偿解决方案