ButterKnife 注解 bindview
注意:7.0版本与8.0版本方法名有所改动,整体业务逻辑和原理没什么变动注意:2017-5之前需在gradle进行好几项配置,而2017-5之后只需添加以下两行依赖即可
2017-5的配置compile 'com.jakewharton:butterknife:8.6.0'annotationProcessor 'com.jakewharton:butterknife-compiler:8.6.0'特点:
- 采用注解的方式实现
- 强大的View绑定和Click事件处理功能,简化代码,提升开发效率
- 方便的处理Adapter里的ViewHolder绑定问题
- 运行时不会影响APP效率,使用配置方便
- 代码清晰,可读性强
使用心得:
- Activity中ButterKnife.bind(this);必须在setContentView();之后,且父类bind绑定后,子类不需要再bind
- Fragment中为ButterKnife.bind(this, mRootView);
- 成员不能用private or static 修饰,否则会报错
使用准备
一、AS中将注解和字段放在一行的设置:settings-->editor-->code style-->java-->wrapping and braces-->Field annotation二、.gradle配置1、在app层级的build.gradle文件的头部添加【apply plugin: 'com.neenbedankt.android-apt'】2、在app层级的build.gradle文件的dependencies中添加如下依赖:compile 'com.jakewharton:butterknife:8.1.0'apt 'com.jakewharton:butterknife-compiler:8.1.0'3、在project层级的build.gradle文件的dependencies中添加如下依赖【classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'】最后,同步Gradle,你就可以愉快地使用ButterKnife了。三、使用zelezny插件
功能
1、绑定Activity或Fragment,父类中绑定后子类不需要再绑定== 0) return true;else return false; //if return false, the onItemClick() will be invoked反射调用 when touch up}}Adapter
public class PersonAdapter extends BaseAdapter {@Overridepublic View getView(int position, View convertView, ViewGroup parent) {ViewHolder holder;if (convertView == null) {convertView = mInflater.inflate(R.layout.person_item_layout, null);holder = new ViewHolder(convertView);convertView.setTag(holder);} else holder = (ViewHolder) convertView.getTag();Person person = getItem(position);if (null != person) {holder.name.setText(person.getName());}return convertView;}static class ViewHolder {@BindView(R.id.person_name) TextView name;public ViewHolder(View view) {ButterKnife.bind(this, view);}}}2017-5-23ButterKnife 注解 bindview的更多相关文章
- Android ButterKnife注解框架使用
这段时间学习了下ButterKnife注解框架,学习的不是特别深入,但是基础也差不多了,在此记录总结一下. ButterKnife是一个Android View注入的库,主要是注解的使用,可以减少很多 ...
- Android ButterKnife注解式开发
在Android开发中findViewById和setOnClickListener解脱写法. 在任意的一个类中 @Bind(R.id.et) EditText editText; @OnClick( ...
- 使用butterknife注解project配置
使用butterknife注解的时候建议使用Jar包 Jar包下载地址:https://github.com/JakeWharton/butterknife Eclipseproject配置: 步骤一 ...
- ButterKnife 注解
简介 官网:http://jakewharton.github.io/butterknife/ github:https://github.com/JakeWharton/butterknife 依赖 ...
- ButterKnife注解式绑定控件
Butter Knife Android为控件设计的注解绑定库. github地址:https://github.com/JakeWharton/butterknife 添加依赖:(具体看github ...
- Android Studio上方便使用butterknife注解框架的偷懒插件Android Butterknife Zelezny
首先提下ButterKnifey已经更新到版本7.0.1了,现在注解已经不叫@InjectView了,而叫@Bind,感觉更贴合语义.同时注册的方式也从 ButterKnife.inject(this ...
- ButterKnife注解框架详解
Android 懒人注解框架 :https://github.com/JakeWharton/butterknife 前言: 注解,相信很多同学都用到了,对控件进行初始化的时候需要用到 findVie ...
- Android使用butterknife注解出现nullPointerException解决
1.下载butterknife加入到你的libs中,构建到你的项目中,此时还不能注解成功,必须进行2配置 2.选择你的项目右键---->properties----->java compi ...
- 开源框架相关面试问题-butterknife注解框架面试问题讲解
butterknife使用简介: 它的出现主要是为了解决咱们在android开发中会写大量的findViewById().setOnClickListener()这样的索然无味的代码,其实它就是一个依 ...
随机推荐
- Graphviz 在 Windows 10 下 的 安装 Bug 解决方案
报错: 解决方法: 参考:stackoverflow
- 有了这套flex页面布局方案,页面什么的,那都不是事。
一.CSS3弹性盒子弹性盒子是CSS3的一种新布局模式.CSS3 弹性盒( Flexible Box 或 flexbox),是一种当页面需要适应不同的屏幕大小以及设备类型时确保元素拥有恰当的行为的布局 ...
- 基于spring-boot的应用程序的单元+集成测试方案
目录 概述 概念解析 单元测试和集成测试 Mock和Stub 技术实现 单元测试 测试常规的bean 测试Controller 测试持久层 集成测试 从Controller开始测试 从中间层开始测试 ...
- CSUOJ 1021 组合数末尾的零 二进制
Description 从m个不同元素中取出n (n ≤ m)个元素的所有组合的个数,叫做从m个不同元素中取出n个元素的组合数.组合数的计算公式如下: C(m, n) = m!/((m - n)!n! ...
- 深入理解yield
yield的英文单词意思是生产,刚接触Python的时候感到非常困惑,一直没弄明白yield的用法. 只是粗略的知道yield可以用来为一个函数返回值塞数据,比如下面的例子: 1 2 3 def ad ...
- hdu 2197 推公式
题意:由0和1组成的串中,不能表示为由几个相同的较小的串连接成的串,称为本原串,有多少个长为n(n<=100000000)的本原串?答案mod2008.例如,100100不是本原串,因为他是由两 ...
- Codeforces Round #361 (Div. 2) B. Mike and Shortcuts bfs
B. Mike and Shortcuts 题目连接: http://www.codeforces.com/contest/689/problem/B Description Recently, Mi ...
- UVALive 4423 String LD 暴力
A - String LD Time Limit:3000MS Memory Limit:0KB 64bit IO Format:%lld & %llu Submit Stat ...
- alpha冲刺——代码规范、冲刺任务与计划(追光的人)
代码规范 代码规范整合了自身项目实践还有诸多好的大公司的代码规范.如阿里巴巴开发手册.华为Java规范.W3C前端规范等. 由于内容过于详细和细致,为了方便查看,将其放置在了showDoc网站上(同时 ...
- Jmeter实现webservice的接口测试
前提条件 测试的URL:http://ws.webxml.com.cn/WebServices/WeatherWS.asmx 测试接口:getSupportCityString 获取城市的编码:htt ...

