位置: 编程技术 - 正文

android:ListView的局部刷新

编辑:rootadmin

推荐整理分享android:ListView的局部刷新,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

1.简介

对于android中的ListView刷新机制,大多数的程序员都是很熟悉的,修改或者添加adapter中的数据源之后,然后调用notifyDataSetChanged()刷新ListView。在这种模式下,我们会在getView中,根据不同的数据源,让控件显示不同的内容。这种模式是最常见的刷新模式,当我们来回滑动ListView的时候,调用adapter的getView方法,然后listview对adapter返回的View进行绘制。这种模式下,View的显示内容或状态都记录在adapter里面的数据源中,listview的更新频率不频繁,它随着数据源的变化而更新。

->ListView局部刷新问题的引入:

假设我们的ListView的Item中有一个进度条(ProgressBar)和一个按钮,当我们点击一下按钮,进度条就会从0到进行刷新,而且一般都需要在1s以内完成刷新过程,也就是说:在ListView的任一个Item中,触发了Button的事件之后,在1s以内,或者更短的时间,ProgressBar需要刷新次。显然,如果我们使用修改数据源,调用notifyDataSetChanged()进行刷新的机制明显是不恰当的,效率极低,而且不一定凑效。那么,我们自然想到当点击的时候,希望能够获取到点击后的View内部的ProgressBar控件的对象,然后直接调用progressBar的setProgress就可以了,本以为这样就大功告成了。忽然,你会发现,当progressBar正在更新的时候,此时,往下滑listview,突然发现下面的某个进度条也在更新。仔细一分析,还真有道理,因为ListView中的View是复用的,当你向下滑动listview的时候,你此时操作的progressBar对象,已经不是刚才点击的那个Item了,因为很多Item复用一个View。那么如何解决这个问题呢?

2.解决方案

记录点击的Item的position,然后在更新过程中,不断的判断,该position是不是介于可见的Item之间,如果是,则更新,否者,不更新。

android:ListView的局部刷新

其他相关代码:

ListAdapter

Activity

布局:

整个项目的源代码:

Android: Receiving Data from the Send Intent,将自己的app注册系统分享 当用户在系统相册,点击分享时,能通过我们自己的app,分享该图片。1.注册主要是在AndroidManifest.xml中,对activity注册Intent-filter,如:activityandroid:name=.u

androidannotations的background和UiThread配合使用参考 简介androidannotations在开发中的代码规范思考:(MVC思考)时间太紧,先贴代码:Activity的代码:packageedu.njupt.zhb.main;importorg.androidannotations.annotations.AfterVie

android:PopupWindow的使用场景和注意事项 1.PopupWindow的特点借用Google官方的说法:Apopupwindowthatcanbeusedtodisplayanarbitraryview.Thepopupwindowisafloatingcontainerthatappearsontopofthecurrentactivity.也就是说,popupwindow

标签: android:ListView的局部刷新

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

上一篇:android:内存优化总结(android内存优化 简书)

下一篇:Android: Receiving Data from the Send Intent,将自己的app注册系统分享

  • 本期收入和本期免税收入有什么区别
  • 进项税额转出的情况
  • 出口退税贷款操作流程
  • 居民转供电收费标准
  • 自产产品用于广告要交消费税吗
  • 自己打印raz
  • 企业构建固定资产支付的现金应列示在现金流量表
  • 非工作日是否可以开标
  • 企业收到的投资者的超出其在企业
  • 非正常损失会计利润调整
  • 材料验收入库款项尚未支付
  • 企业管理咨询公司哪家好
  • 会计凭证如何填写
  • 企业所得税季度申报
  • 拿到一个材料如何加工
  • 销售不动产包括哪些内容
  • 电子发票打印出来没有税务局的章
  • 固定资产赔偿制度
  • 差旅费补贴需要缴纳个人所得税吗需要发票
  • 公车保险费可以抵扣吗
  • 营改增后营业外收入交增值税吗?
  • 什么叫未完税
  • 企业财务月确定不当造成税务问题
  • 境外所得税收抵免政策
  • 一般纳税人增值税怎么做账务处理
  • 贷款减值损失的计提规则
  • 公司股东认缴资质末到位导致公司破产应承担什么责任
  • 企业拨给工会的补助怎么记账
  • 自产房产部分出租后的房产税怎么交?
  • 财务费用年末有余额吗
  • window10开始菜单
  • 加班工资算补贴么
  • 报销伙食费的会计分录
  • PHP:mb_parse_str()的用法_mbstring函数
  • 待处理流动资产净损失
  • 公允价值变动损益在利润表哪里
  • 私有化部署chatGPT,告别网络困扰
  • ccf noi指导教师认证考核
  • 卷卷卷卷卷
  • 新手学web前端开发
  • 呕心沥血的历史人物
  • 少收的应收款和应收账款
  • 申请税控盘流程需要几个工作日
  • 在建工程核算的内容有哪些
  • 更改Mysql root用户密码
  • 厂区地面硬化施工方案
  • 冲销暂估入账用什么凭证
  • 应收账款收不回来
  • 股权转让如何缴纳个税
  • 应收账款和应付账款属于什么科目
  • 电子承兑汇票的风险有哪些
  • 保险费的增值税属于什么税
  • 工程怎么做会计分录
  • 采购入库单如何弃审U8
  • 怎么填写专用发票信息
  • 电汇凭证有效期
  • 其他应收款核算什么
  • 计提时的会计分录
  • 勾选发票必须当月认证吗
  • 新基建政策文件
  • win10预览版好用吗
  • 在一台电脑安装两个省份个税系统
  • windows z
  • windows.old文件夹有啥用
  • 怎么删除电脑windows
  • 明日之后白树高地怎么钓凤尾鱼
  • windows10如何关闭快捷键
  • win7系统怎么用无线接收器怎么用
  • cocos2dx4.0教程
  • Unity3d NGUI的drawcall,UISprite与UITexture
  • opengles版本过低怎么办
  • 网页标准化技术有哪些
  • python数据类型有什么用
  • jquery实现点击按钮
  • 电子税务局登陆密码在哪里修改
  • 残疾人贷款买房
  • 房地产企业税种认定标准
  • 税控盘时钟异常怎么办
  • 可以去税务局交医社保吗
  • 广西城建投资集团官网
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设