计时器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();
            

计时器chronometer补充

时间: 2024-10-07 13:38:15

计时器chronometer补充的相关文章

android中计时器chronometer

计时器chronometer继承自TextView,显示的是从一个起始时间开始,一共过去了多长时间. 属性只有一个format,用于指定计时器的计时格式. 要用时间间隔,可以用SystemClock来实现: 1.SystemClock.currentThreadTimeMillis(); // 在当前线程中已运行的时间  2.SystemClock.elapsedRealtime(); // 从开机到现在的毫秒书(手机睡眠(sleep)的时间也包括在内)  3.SystemClock.uptim

安卓学习第9课——计时器chronometer

今天学习了钟表及计时器.. 我觉得AnalogClock和DigitalClock直接使用就可以.唯一需要知道的就是AnalogClock是可以修改表盘和分针时针的. 方法是android:dail及android:hand_minute和hand_hour. 下面介绍的是计时器的用法. 首先xml中只要放入一个chronometer和一个按钮即可.为的是是点击启动按钮,开始计时,20s停止. package com.example.chronometer; import android.app

Android有感(20):时钟(AnalogClock和TextClock)和计时器(Chronometer)

时钟文本TextClock继承自TextView,是用于显示当前时间的文本框. TextClock支持的XML属性和相关方法 XML属性 相关方法 说明 android:format12Hour setFormat12Hour(CharSequence) 设置12小时制的格式字符串 android:format24Hour setFormat12Hour(CharSequence) 设置24小时制的格式字符串 android:timeZone setTimeZone(String) 设置该时钟的

计时器Chronometer和时钟(AnalogClock和DigitalClock)

计时器Chronometer和时钟(AnalogClock和DigitalClock) (1)Android提供了两个时钟组件:AnalogClock和DigitalClock,DigitalClock继承了TextView组件,也就是说它本身是一个文本框,只是他里面的内容总是当前时间,所以为DigitalClock设置android:text属性没有作用:AnalogClock继承了View组件,重写了View的OnDraw方法,它会在View上绘制模拟时钟. (2)AnalogClock与D

UI组件之TextView及其子类(五)计时器Chronometer

Chronometer直接继承了TextView组件,它会显示一段文本,显示从某个其实时间开始,一共过了多长时间.我们看Chronometer的源码: 可以看出计时器是直接继承了TextView,当然可以用TextView的所有属性和方法.同时及时其还有自己的内部接口OnChronometerTickListener 计时器的新增属性和方法: 计时器的常用方法如下: setBase(long base):设置计时器的起始时间 setFormat(String format) :设置显示时间的格式

【Android】标签页、计时器、单选按钮、复选按钮

写一个小程序把安卓程序中的几个基础组件的基本用法串联起来. 如下图所示: 在安卓程序中,一个计时器,一直在不断地计时,每10秒弹出一个提示. MainActivity被一个标签页分成两部分,一部分,有单选按钮与复选按钮,最后有一个提交按钮, 结果在另一个标签页中显示. 用这个程序来说明安卓中标签页.计时器.单选按钮.复选按钮的用法. 首先贴上res\values\string.xml中,各个组件的字符串. <?xml version="1.0" encoding="ut

高级控件 下(一)

1.计时器(Chronometer)<!-- 给应用授权:改变震动的权限 --><uses-permission android:name="android.permission.VIBRATE"></uses-permission>//取得震动服务vb=(Vibrator) getApplication().getSystemService(Service.VIBRATOR_SERVICE);//开始计时bstart.setOnClickListe

Android开发笔记 TableLayout常用的属性介绍

今天看了安卓简单控件的布局方式,大概有绝对.相对.表格.线性.帧式布局五种方式,表格布局里面的一些属性相对来说比较复杂,下面主要谈谈表格方式布局的一些属性 TableLayout经常用到的属性有: android:collapseColumns:以第0行为序,隐藏指定的列: android:collapseColumns该属性为空时,效果如下图: 把android:collapseColumns=0,2-------------->意思是把第0和第2列去掉,如下图: android:shrink

Android学习笔记(二一):有趣的widget-日期和时间

Android提供了日期和时间的widget. 日期widget DatePicker和DatePickerDialog,DatePickerDialog是装载DatePicker的一个简单的容器,如图所示.分别有一个触发方法OnDateChangedListener( ) 和OnDateSetListener( ). 在这个例子中,我们设置了两个button和一个textView,当按键弹出DatePickDialog. 步骤1:一些有关时间的java函数 获得当前时间的实例:Calendar