2017-08-25 8 views
0

有沒有辦法保存CountDownTimer的準確傳遞時間(毫秒,秒或分鐘是好的)?Android:獲取正常CountDownTimer的傳遞時間?

new CountDownTimer(30000, 1000) { 

public void onTick(long millisUntilFinished) { 
    mTextField.setText("seconds remaining: " + millisUntilFinished/1000); 
} 

public void onFinish() { 
    mTextField.setText("done!"); 
} 
}.start(); 

我試圖onTick()增加一個變量,但問題是,我的定時器是取消並重新啓動了一個按鈕,onTick()被調用每次我開始計時,不管第二通過與否。所以如果我在1秒內多次點擊按鈕,onClick()會被每一次點擊調用一次,而不是每秒一次。

回答

1

你可以使用System.currentTimeMillis(),這是你在做什麼之後?

public class MyCountDownTimer extends CountDownTimer { 

    long timeStart; 

    public MyCountDownTimer(long x, long y) { 
     super(x, y); 
     timeStart = System.currentTimeMillis(); 

    } 


    @Override 
    public void onTick(long millisUntilFinished) { 
     long timeLapsed = System.currentTimeMillis() - timeStart; 
     /// your code 
    } 

    @Override 
    public void onFinish() { 
     /// your code 
    } 
} 
+0

我想這是有效的。但是,我的問題現在已經過時,因爲我不再需要這個了。我希望其他發現回答有用的tho。 –