计时器chronometer补充
2024-10-20 05:46:36
项目中要实现关于安卓控件chronometer这部分的功能需求:
1、计时器的功能对用户答题时间进行时间统计,用户答完该题,进入下一题,计时器接续上一题的结束时间继续计时;
2、用户可以跳出答题界面,然后进入主页面,再次选择其他题进入答题界面,这时候计时器接续跳之前的时间断点继续计时;
其实关键点就是,计时器停止计时的时候,使用一个全局的静态变量(静态的原因,当用户跳出答题界面的时候,再次进入答题界面会从onCreat()函数开始执行,所以要使用静态变量保存;全局的原因是因为程序任何修改计时器的地方都可以对其进行修改)保存这个值,然后每次在计时器开始计时的时候,先取出这个静态变量的值,然后从这个断点开始计时。项目中我使用的是public static String timer = “00:00”来进行初始化和保存
//首先是timer停止的时候,进行保存变量
chronometer.stop();
timer = chronometer.getText().toString();
//onCreat函数里,对该题是否做过进行判断,如果做过,就停止计时,否则开始计时
if(reDoFlag ==0 && GPUtils.setHasDone.contains(String.valueOf(subjectLoaded-1))&& GPUtils.setHasDone.size()!=0) { chronometer.stop(); }else chronometer.start();
//然后在每次计时器start之前,首先从静态变量中取值,从断点处进行计时 String[] timeTemp = timer.split(":");
long time = (Integer.parseInt(timeTemp[0])*60+Integer.parseInt(timeTemp[1]))*1000;
long base = SystemClock.elapsedRealtime();
chronometer.setBase(base-time);
chronometer.start();
最新文章
- busybox的编译、使用及安装
- PHPstorm设置连接FTP,进行文件上传、下载、比较
- Linux系统编程(9)—— 进程之进程控制函数exec系列函数
- C#/IOS/Android通用加密解密方法
- poj 2769 Reduced ID Numbers(memset使用技巧)
- ASP.NET MVC IOC 之AutoFac
- android 数据存储分配的一些事
- 1753: [Usaco2005 qua]Who's in the Middle
- 201521123106 《Java程序设计》第11周学习总结
- Android 8.0 的部分坑及对应解决方法
- mi家前端面经
- spring boot 入门及示例
- Docker 系列四(自定义仓库).
- BZOJ 4318 OSU!(概率DP)
- MySQL基本简单操作01
- Javabean非空变量校验工具
- 2017-2018 ACM-ICPC, Asia Tsukuba Regional Contest
- PHP + Apache 在 Linux(centos7)系统下的环境搭建,基于 yum
- 再续session和cookie (网络整理)
- javascript中的this到底指什么?
热门文章
- redis 工具类 单个redis、JedisPool 及多个redis、shardedJedisPool与spring的集成配置
- 剑指offer 判断树是不是对称的
- jquery页面滑到底部加载更多
- FusionCharts参数大全及详细说明(中文)
- 整理书本(book)
- HDU 1203 I NEED A OFFER! 01背包 概率运算预处理。
- ntopng汉化记录
- 认识ExtJS(04)--常见Web框架的ExtJS改造
- linux nfs文件夹、文件共享
- 基于I2C EPPRPM(AT24C02B) + LCD12864实验