Android: 获取正常 CountDownTimer 的过去时间?

Android: Get passed time of a normal 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() 中增加一个变量,但问题是,我的计时器可以通过按钮取消和重新启动,并且每次启动计时器时都会调用 onTick(),无论是否第二次通过与否。因此,如果我在 1 秒内多次单击按钮,则每次单击都会调用 onClick(),而不是每秒调用一次。

你可以使用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
    }
}