Android:获取正常CountDownTimer的传递时间?

时间:2017-08-25 01:36:58

标签: android countdowntimer

有没有办法可以保存CountDownTimer的确切传递时间(毫秒,秒或分钟很好)?

new CountDownTimer(30000, 1000) {

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

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

我尝试在onTick()中增加一个变量,但问题是,我的计时器取消并可以通过Button重新启动,每次启动计时器时都会调用onTick(),无论第二次通过或不。因此,如果我在1秒内多次单击按钮,则每次单击都会调用onClick(),而不是每秒一次。

1 个答案:

答案 0 :(得分: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
    }
}