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!
ButterKnife--View注入框架的更多相关文章
- View注入框架:Butterknife简单使用
View注入框架 下载地址 1.Activity Binging 通过@Bind凝视字段,Butter Knife能够通过View的ID自己主动找到并把对应的视图布局. class ExampleAc ...
- ButterKnife View 注入
/***************************************************************************************** * ButterK ...
- ButterKnife--View注入框架的使用
作为一名Android开发,是不是经常厌烦了大量的findViewById以及setOnClickListener代码,而ButterKnife是一个专注于Android系统的View注入框架,让你从 ...
- 玩转ButterKnife注入框架
在去年这个时候,我写过一篇介绍Android注解的文章android注解使用详解,这篇文章主要是介绍了Android中的AndroidAnnotations注入框架,AA框架有它自身的一些优点,这里不 ...
- 【十一年】注入框架RoboGuice采用:(Your First Injection into a Custom View class)
上一篇我们简单的介绍了一下RoboGuice的使用([十]注入框架RoboGuice使用:(Your First Testcase)),今天我们来看下自己定义View的注入(Custom View). ...
- 【二】注入框架RoboGuice使用:(Your First View Injection)
上一篇我们简单的介绍了一下RoboGuice的使用([一]注入框架RoboGuice使用:(A brief example of what RoboGuice does)),今天我们我看下View的注 ...
- Butter Knife:一个安卓视图注入框架
Butter Knife:一个安卓视图注入框架 2014年5月8日 星期四 14:52 官网: http://jakewharton.github.io/butterknife/ GitHub地址: ...
- Java注解(自定义注解、view注入)
注解这东西虽然在jdk1.5就加进来了,但他的存在还是因为使用Afinal框架的view注入才知道的.一直觉得注入特神奇,加了一句就可以把对应view生成了. 下面我们来认识一下注解这个东西 一.注解 ...
- 【四】注入框架RoboGuice使用:(Your First System Service Injection)
上一篇我们简单的介绍了一下RoboGuice的使用([三]注入框架RoboGuice使用:(Your First Resource Injection)),今天我们来看下系统服务的使用注解的方法: 为 ...
随机推荐
- pc端和android端应用程序测试有什么区别?(ps面试题)
pc端和android端应用程序测试有什么区别?(ps面试题) [VIP7]大连-凭海临风(215687736) 2014/4/10 8:56:171.测试环境不同PC平台一般都是windows an ...
- 测试CAS
参考博客 http://www.cnblogs.com/adolfmc/archive/2012/07/16/2593291.html 准备工作: 1.cas服务器:http://cas:8443/l ...
- Windows 自动关机/定时关机 命令 shuntdown
一 .倒计时关机: 指定系统在10分钟后自动关闭:点击"开始→运行",输入命令"Shutdown -s -t 60"(注意:引号不输入,参数之间有空格 ...
- 像素&分辨率
1.像素 是组成图像的基本单元:点 2.分辨率 是指在长和宽的两个方向上各拥有的像素的个数. 3.一张640*480的图片,表示图片在每个长度方向上都有640个像素,在宽度方向上都有480个像素,总数 ...
- Python文件读取编码错误问题解决之(PyCharm开发工具默认设置的坑。。。)
刚接触Python学习,正准备做个爬虫的例子,谁知道代码一开始就遇到了一个大坑,狂汗啊. 问题是这样的:我通过代码爬取了博客园首页的HTML代码并存入到blog.txt文件当中,然后准备读取出来之后进 ...
- 细数.NET 中那些ORM框架 —— 谈谈这些天的收获之一
细数.NET 中那些ORM框架 —— 谈谈这些天的收获之一(转) ADO.NET Entity Framework ADO.NET Entity Framework 是微软以 ADO.N ...
- Android下集成Paypal支付
近期项目需要研究paypal支付,官网上的指导写的过于复杂,可能是老外的思维和中国人不一样吧.难得是发现下面这篇文章: http://www.androidhive.info/2015/02/andr ...
- Windows Phone App的dump文件实例分析-Stack Overflow
前言 这篇文章我们一起来分析一个从Windows Phone Dev Center上下载下来的dump file.首先按照我上一篇的步骤设置好我们的Windbg,并按住Ctrl +D打开dumpfil ...
- Task:取消异步计算限制操作 & 捕获任务中的异常
Why:ThreadPool没有内建机制标记当前线程在什么时候完成,也没有机制在操作完成时获得返回值,因而推出了Task,更精确的管理异步线程. How:通过构造方法的参数TaskCreationOp ...
- 【异常处理_iis】无法启动IIS Express\iisexpress.exe
正调试着程序,突然不能调试了.重启了也没用,还是报错:无法启动程序 C:\Program Files(X86)\IIS Express\iisexpress.exe. 和之前无法启动IIS Expre ...