標籤:style blog color 使用 os art ar div
項目中要實現關於安卓控制項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();