博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android开发中Chronometer的用法
阅读量:6910 次
发布时间:2019-06-27

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

Chronometer集成自TextView,里面有个Handler负责定时更新ui。

其计时原理很简单:通过setBase(long t)方法设置好baseTime之后,当start()时,每隔一秒,用当前SystemClock.elapsedRealtime()减baseTime,得到的逝去时间显示在TextView中。

下面来个例子,这里除了start、stop功能,还利用setBase()添加个pause功能。

1     private Chronometer recordChronometer; 2     private long recordingTime = 0;// 记录下来的总时间 3  4     public void onRecordStart() { 5         recordChronometer.setBase(SystemClock.elapsedRealtime() - recordingTime);// 跳过已经记录了的时间,起到继续计时的作用 6         recordChronometer.start(); 7     } 8  9     public void onRecordPause() {10         recordChronometer.stop();11         recordingTime = SystemClock.elapsedRealtime()12                 - recordChronometer.getBase();// 保存这次记录了的时间13     }14     15     public void onRecordStop() {16         recordingTime = 0;17         recordChronometer.setBase(SystemClock.elapsedRealtime());18     }

 

转载于:https://www.cnblogs.com/coding-way/p/3372480.html

你可能感兴趣的文章
Windows 8 应用开发 - 挂起与恢复
查看>>
在InstallShield中发布单一的Setup.exe文件
查看>>
LINQ to Objects系列(1)相关技术准备
查看>>
[leetcode]Validate Binary Search Tree @ Python
查看>>
设计模式---简单工厂模式(学习笔记)
查看>>
第21周五
查看>>
c++ 使用json的库。cJSON
查看>>
struts2不兼容servlet、COS
查看>>
Java 打印堆栈的几种方法
查看>>
解读Gartner《2015年度新兴技术成熟度曲线报告》
查看>>
执行ssh-add时出现Could not open a connection to your authentication agent
查看>>
Ajax.BeginForm()实现ajax无刷新提交
查看>>
GROOVY简单语法实习
查看>>
刷新神经网络新深度:ImageNet计算机视觉挑战赛微软中国研究员夺冠
查看>>
27.OGNL与ValueStack(VS)-获取Stack Context中的信息
查看>>
MySQL数据库的事务管理
查看>>
BZOJ4631 : 踩气球
查看>>
离婚后感言
查看>>
怎么使用阿里云直播服务应用到现在主流直播平台中
查看>>
Ubuntu 安装搜狗拼音及fcitx
查看>>