onFinish()CountDownTimer方法太长了?

时间:2013-11-09 20:36:55

标签: android timer countdowntimer

更新:2013年11月20日:这仍未解决。

我正在制作CountDownTimer并且在onFinish()方法中,我显然做了太多工作,因为最后一秒和结束之间的延迟花费的时间超过1秒(这是我之间的延迟)蜱)。

这是我的代码。

mCountDownTimer = new CountDownTimer(GAME_LENGTH, 1000) {

public void onTick(long millisUntilFinished) {
                mCountDownTextView.setText("" + millisUntilFinished / 1000);
            }

            public void onFinish() {
                mCountDownTextView.setText("Game Over!");
                tl.setOnTouchListener(null);
                for (DotView dv : mAllDots) {
                    dv.setChangingColors(false, null, -1); // This is my own method
                }
                 }

问题是:有没有办法在onFinish()的{​​{1}}方法中执行可能长时间运行的操作,而没有倒数第二个和最后一个滴答之间的实际时间受到影响?

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,我认为这不是导致此问题的onFinish()中的代码。

我解决了在(millisUntilFinished/1000 == 1)而不是onFinish()执行操作时遇到的问题。

我还使用mCountDownTextView.setText(String.valueOf((millisUntilFinished/1000) - 1))将文本视图偏移了一秒钟。