位置: 编程技术 - 正文

注解式框架ButterKnife的用法及在adapter中使用的优化(框架常用注解)

编辑:rootadmin
注解式框架的使用将会大大简化代码编写量,提升开发效率,主流的注解式框架有Dagger,ButterKnife,AndrodAnnotations。AndrodAnnotations配置麻烦,需要在项目清单里注册生成的子类。反射机制会占用资源内存和耗时。Dagger采用预编译技术,高效,但是对View绑定操作注解不是很方便。 ButterKnife用起来方便,使用简单,这里主要介绍它的使用。 到官网下载jar包,ButterKnife也已经托管到github上, 一.配置: 下载jar包放到libs中,配置eclipse,右键项目properties->java Compiler->Annotation Procession->勾一下Enable project special settings其他的就会自动勾上了,Factory path勾上Enable project special settings,Add jars选中刚才导入的jar包,确定即可。 二.使用: 直接上代码 public class MainActivity extends Activity { @Optional@InjectView(R.id.tv) Button btn; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ButterKnife.inject(this); } @OnClick(R.id.tv) public void say(Button btn){ Toast.makeText(this, "你好", Toast.LENGTH_SHORT).show(); btn.setText("ButterKnife"); }}很简单吧,需要注意的是,如果click事件还有其他的组件,则声明为@OnClick({R.id.tv,R.id.tv2})这种方式即可,在使用case来进行判断,@Optional是以防没有这个id,防止崩溃使用的,其他的事件如长按,选中等也都有相关的方法。 三.对adapter的支持 之前我们自定义的adapter会写成这种形式: @Override public View getView(int position, View convertView, ViewGroup parent) { // TODO Auto-generated method stub ViewHolder holder = null; if (holder == null) { convertView = LayoutInflater.from(mcontext).inflate( R.layout.activity_main, null); holder = new ViewHolder(); holder.btn = (Button) convertView.findViewById(R.id.tv); convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } holder.btn.setText("更改"); return convertView; } class ViewHolder { Button btn; }----------------------华丽丽的分割线------------------------------- 加入ButterKnife后,adapter只需进行很小的修改即可,代码如下 @Override public View getView(int position, View convertView, ViewGroup parent) { // TODO Auto-generated method stub ViewHolder holder = null; if (holder == null) { convertView = LayoutInflater.from(mcontext).inflate( R.layout.activity_main, null); holder = new ViewHolder(convertView); holder.btn = (Button)convertView.findViewById(R.id.tv); convertView.setTag(holder); }else{ holder = (ViewHolder)convertView.getTag(); } holder.btn.setText("更改"); return convertView; } static class ViewHolder{ @InjectView(R.id.tv) Button btn; public ViewHolder(View view){ ButterKnife.inject(view); } } ViewHolder声明为了静态的,holder = new ViewHolder中传入了 convertView。

标签: 框架常用注解

本文链接地址:https://www.jiuchutong.com/biancheng/370972.html 转载请保留说明!

上一篇:undefined reference to '__android_log_print'(android studio1.3版本)(undefined reference to pthread)

下一篇:防止反编译所用到的proguard.cfg文件的编写(apk防止反编译)

  • 北京增值税发票网上申领流程
  • 生产企业出口退税的计算方法
  • 税务申报退税
  • 资产负债表其他流动资产包括什么
  • 未出资到位的股东
  • 利润为负数利润增长率怎么算
  • 6%税点是什么意思
  • 土增税清算地下室怎么扣除
  • 会计核算过程中的错误分析
  • 筹建期间有收入怎么办
  • 结转成本费用会计分录
  • 其他流动资产待抵扣进项税额
  • 什么费用计入什么科目
  • 工资扣款的规定
  • 购进原材料没有发票怎么做分录
  • 固定资产维修费率
  • 先收钱后开票怎么做分录
  • 代缴社保缴费基数是怎么算的
  • qq画画图片大全
  • 企业给学校捐款的申请怎么写
  • PHP:xml_set_character_data_handler()的用法_XML解析器函数
  • php获取文件列表并输出
  • 公司开承兑出去 利息怎么算
  • win10提示病毒
  • 代理进口合同如何签署
  • 未到期责任准备金是什么意思
  • PHP:Memcached::replaceByKey()的用法_Memcached类
  • 发票开烟酒
  • 个体工商户税收标准2023年
  • 外贸进出口企业退税
  • 汽车维修收费标准及费用计算方法
  • 生产企业可以抵扣进项税的
  • 天猫提现不走对公2023
  • php缩进
  • php读取word内容
  • 论文阅读网站排行榜
  • js中的数组
  • 累计折旧大白话
  • 公司发放给员工的出差补助需要合并计算个税吗
  • 金蝶kis的使用方法
  • 用工会经费给员工发工资
  • db management
  • 购买种子能抵扣进项吗
  • 劳务费发票是个人的吗
  • 多交增值税可以不退吗
  • 银行季度结息怎么记账
  • 长期股权投资成本法转权益法例题
  • 租金收入确认收入时间
  • 个税手续费返还奖励财务人员的文件
  • 交易性金融资产公允价值变动计入
  • 预售房提前还款需要去解押吗
  • 公众责任险作用
  • 请问购买
  • SQL order by ID desc/asc加一个排序的字段解决查询慢问题
  • mysql优化的几种方法
  • mysql启动时找不到mysqld.server
  • mssql CASE,GROUP BY用法
  • mysql事务命令
  • mysql8.0创建函数
  • windows 2003 r2
  • 帝国时代2能在win10
  • 设置使用资源管理器查看文件时,显示已知文件的扩展名
  • linux的防火墙配置文件
  • win7系统声音设置方法
  • windows7手动更新
  • scumpve服务器
  • 学习英语
  • Nodejs实现多人同时在线移动鼠标的小游戏分享
  • dos命令中的cd命令
  • div显示边框线
  • table标签怎么设置宽高
  • css新闻页面制作
  • jni静态注册和动态注册
  • unity3D利用W,A,S,D让物体移动
  • Ext JS 4官方文档之三 -- 类体系概述与实践
  • jQuery实现的指纹扫描效果实例(附演示与demo源码下载)
  • 刮刮奖软件下载
  • jQuery处理XML文件的几种方法
  • 在linux安装python
  • 契税个税怎么说
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设