有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java倒计时奇怪的完成行为

当计时器完成时,它会返回到上一个活动一秒钟,然后应用onFinish 原因是什么?如何预防

mCountDownTimer = new CountDownTimer(mTimeLeftInMillis, 1000) {
    @Override
    public void onTick(long millisUntilFinished) {
        mTimeLeftInMillis = millisUntilFinished;
        updateCountDownText();
    }

    @Override
    public void onFinish() {
        playAgain();
    }
}.start();

共 (1) 个答案

  1. # 1 楼答案

    重新排列是在每个刻度开始时,在调用onTick()之前,计算倒计时结束之前的剩余时间,如果该时间小于倒计时时间间隔,则不再调用onTick()。 当onTick()调用CountDownTimer时,需要花费一些时间进行计算。处理这个问题最简单的方法是在计时器中添加一些额外的timeLeftInMillis