博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ListView 局部刷新实现思路
阅读量:6267 次
发布时间:2019-06-22

本文共 1759 字,大约阅读时间需要 5 分钟。

hot3.png

去Listview找到当前可以看见的ItemView, 以及对应的要刷新的View, 例如Progressbar 刷新之

List
epiDownloadBeans = mDownloadAdapter.getList(); int firstVisiblePosition = dl_listview.getFirstVisiblePosition(); int lastVisiblePosition = dl_listview.getLastVisiblePosition(); for (int i = firstVisiblePosition; i < lastVisiblePosition; i++) { View itemView = dl_listview.getChildAt(i-firstVisiblePosition); if (itemView == null) { LogUtil.d(TAG, "itemView == null"); continue; } ProgressBar progressBar = (ProgressBar) itemView.findViewById(R.id.dl_item_progress); if (i < 0 || i >= epiDownloadBeans.size()) { LogUtil.e(TAG, "surprise index when get epiDownloadBean i = " + i); continue; } EpiDownloadBean epiDownloadBean = epiDownloadBeans.get(i); if (progressBar != null) { try { epiDownloadBean.setPrecent((int) (TaskManager.getInstance().getDownloadTask(epiDownloadBean.getTask_id(), epiDownloadBean.getUrl(), epiDownloadBean.getSavePath()).getPercent() * 100)); progressBar.setProgress(epiDownloadBean.getPrecent()); } catch (Exception e) { e.printStackTrace(); } } }

参考

http://www.cnblogs.com/liuling/p/2015-10-20-01.html

 

http://www.jianshu.com/p/45a43a117365

转载于:https://my.oschina.net/sfshine/blog/1576011

你可能感兴趣的文章
zinnia项目功能分析
查看>>
windows cmd for paramiko
查看>>
SQL经典面试题集锦
查看>>
View学习(一)-DecorView,measureSpec与LayoutParams
查看>>
色彩力量!21款你应该知道的优秀品牌设计
查看>>
SDUT 3503 有两个正整数,求N!的K进制的位数
查看>>
【.Net】C# 根据绝对路径获取 带后缀文件名、后缀名、文件名、不带文件名的文件路径...
查看>>
Redis常用命令速查 <第二篇>
查看>>
CSS规范
查看>>
使用FastDateFormat来代替JDK自带的DateFormat
查看>>
Python爬虫从入门到放弃(十六)之 Scrapy框架中Item Pipeline用法
查看>>
Android源代码解析之(三)--&gt;异步任务AsyncTask
查看>>
(zhuan) 自然语言处理中的Attention Model:是什么及为什么
查看>>
C#中使用RabbitMQ收发队列消息
查看>>
Hadoop1.2.1 全然分布式集群搭建实操笔记
查看>>
第三百二十七节,web爬虫讲解2—urllib库爬虫—基础使用—超时设置—自动模拟http请求...
查看>>
MVC总结--MVC简单介绍以及和WebForm差别
查看>>
tiny4412 裸机程序 五、控制icache【转】
查看>>
VB.NET多线程入门
查看>>
国外物联网平台初探(二) ——微软Azure IoT
查看>>