位置: 编程技术 - 正文

注解式框架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防止反编译)

  • 兼营和混合销售的联系
  • 库存现金账务处理
  • 资产处置收益是什么会计科目
  • 征地补偿费谁来支付
  • 12月工资1月发个税怎么算
  • 农产品进项抵扣政策
  • 向职工支付职工福利费
  • 房地产企业配套设施的核算内容
  • 税控系统维护费账务处理
  • 补上年所得税加滞纳金入哪个科目?
  • 跨月红字发票可以作废吗
  • 专票多开怎么算
  • 增值税发票提示文件不匹配
  • 收到管理费用的会计科目
  • 借给其他企业的钱计入什么科目
  • 进口增值税发票怎么认证
  • 外贸企业出口退税撤销申报
  • 减免税附报需要哪些资料?
  • 企业购买二手车需要缴纳哪些税
  • 国际代理运费和港杂费一样吗
  • 在win7系统中如何让电脑恢复出厂设置方法
  • thinkphp5框架介绍
  • 收到材料未收到会计处理
  • 笔记本电池的正负极区分
  • 出租固定资产取得的净收益计入什么科目
  • 汇付的注意事项有哪些内容
  • 我国居民企业甲在境外进行了投资
  • 前端批量下载图片
  • 固定资产如何抵成本
  • 一般纳税人向小规模纳税人开专票
  • php搜索框查询数据库
  • uni.getstorage
  • 其他权益工具投资公允价值变动计入什么科目
  • 电子发票重开之前的是不是就没用了
  • antd form table
  • wordpress小工具开发
  • 工资应纳税额怎么算
  • 建筑业如何开票
  • 工业企业成本核算的一般程序
  • uniapp开发总结
  • 专项储备期末有余额吗
  • 政府扶持国有企业
  • 红冲以前年度收入
  • 小规模纳税人免税政策2023年
  • 移动怎么开当月发票
  • 调整以前月份的管理费用怎么做
  • 职工教育经费还有什么经费
  • 当月费用次月报销
  • 工业企业外购存货成本有
  • 收到其他公司往来款怎么做账
  • 工程施工企业的会计科目如何设置
  • 限售股锁定期延长
  • 小微企业应交增值税如何记账
  • 分公司第二季度总结报告
  • 公司补缴社保怎么查不到
  • 防伪税控技术维护费
  • sql server怎么添加数据
  • mysql 5.7.18 zip版安装配置方法图文教程(win7)
  • centos编译安装tcpdump工具
  • windows xp sp4 下载 windows xp sp4补丁包(非官方)
  • 苹果发布会最新消息
  • win7系统怎么禁用win键
  • win8隐藏任务栏怎么恢复
  • Win7中TrustedInstaller.exe进程占用内存高该怎么解决?
  • 体验Win8灵活分屏贴靠功能图文介绍
  • sed配合grep
  • 疯狂Android讲义(kotlin版)
  • angular form表单
  • jQuery中Nicescroll滚动条插件的用法
  • android接听电话
  • 猫的喵喵
  • Unity3D游戏开发标准教程
  • Adding iAd in your App from Unity3d
  • 获取某个div的高度
  • unity加密代码
  • jquery ztree实现模糊搜索功能
  • 英特尔在哪打开
  • 河南税务总局发票查询
  • 浙江省税务局发短信是真的吗
  • 宿州税务总局
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设