博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android开发案例 – 在AbsListView中使用倒计时
阅读量:7267 次
发布时间:2019-06-29

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

 在App中, 有多种多样的倒计时需求, 比如:

  1. 在单View上, 使用倒计时, 如(如图-1)
  2. 在ListView(或者GridView)的ItemView上, 使用倒计时(如图-2)

图-1

图-2

相比需求-1, 需求-2的难度更大, 性能要求更高: 因为AbsListView会涉及到ItemView重用的问题会使得管理定时器很麻烦, 另外如果定时地通过Base#notifyDataChanged()去刷新数据, 性能又相对较低, 也会引起滚动卡顿的问题. 因此, 此文主要解决的问题是如何合理地在AbsListView中使用倒计时.

知识要点

  1. AbsListView ItemView重用机制
  2. android.os.CountDownTimer

基本思路

  1. 使用CountDownTimer来完成基本倒计时功能
  2. 按倒计时的时间间隔来分组管理CountDownTimer, 即相同时间间隔的Item使用同一个CountDownTimer
  3. 每组CountDownTimer倒计时的时间取组内的最大值, 一旦Item到达自身的倒计时时间, 就会从该组倒计时中被移除
  4. 定义一个倒计时任务, 用来管理上述分组
  5. 每个业务可以根据需要创建并启动多个倒计时任务, 且可以在适当的页面生命周期函数中停止该任务

实现代码

  • github – / 

具体用法

  1. 普通页面:

  2. 列表页面:

  

  END. SEE MORE: 

 

转载于:https://www.cnblogs.com/erehmi/p/5305742.html

你可能感兴趣的文章
[leetcode.com]算法题目 - Sqrt(x)
查看>>
Python自带的hmac模块
查看>>
2102 石子归并 2
查看>>
poj 3352
查看>>
ubuntu卸载vmware player
查看>>
解决问题方法论
查看>>
Fedora下配置网卡
查看>>
ASP.NET页面生命周期
查看>>
solr6.6 配置自带中文分词
查看>>
DTCMS更改图片相册上传图片类型,手机上传图片相册
查看>>
JQuery 表格 隔行换色 和鼠标滑过的样式
查看>>
python数据结构(1)
查看>>
spring4+mybatis3+maven
查看>>
http请求头详解
查看>>
几何画板常见问题解决方案
查看>>
SMART原则
查看>>
[Elasticsearch] 全文搜索 (一) 基础概念和match查询
查看>>
比较.NET程序集(DLL或EXE)是否相同
查看>>
java 资料必备
查看>>
使用PHPExcel操作Excel用法实例分析
查看>>