4

更新: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()有没有办法在 a 的方法 中执行一个潜在的长时间运行的操作,CountDownTimer而不影响倒数第二个和最后一个滴答之间的实际时间?

4

1 回答 1

1

我有同样的问题,我不认为这onFinish()是导致这种情况的代码。

我解决了在执行操作时而(millisUntilFinished/1000 == 1)不是在onFinish().

我也曾经mCountDownTextView.setText(String.valueOf((millisUntilFinished/1000) - 1))将 textview 偏移一秒钟。

于 2014-08-12T19:08:03.563 回答