zoukankan      html  css  js  c++  java
  • 计时器chronometer补充

    项目中要实现关于安卓控件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();
                
  • 相关阅读:
    搭建Vmware Workstation 12 + Kylin 4.02(Ubuntu 16.04) + petalinux + Vivado
    dash 和 bash 切换
    centos的镜像下载
    docker部署redis,kafka
    Centos7下使用mail发送邮件配置
    实现内网主机既能访问yum源,又能curl通baidu,外网nginx的配置
    centos7下使用mysql离线安装包安装mysql5.7
    内网主机使用nginx代理访问阿里yum源
    配置阿里云yum源
    centos下查看cpu核数
  • 原文地址:https://www.cnblogs.com/lucky-star-star/p/3878848.html
Copyright © 2011-2022 走看看