4

更新: 2013 年 11 月 20 日: これはまだ解決されていません。

CountDownTimerメソッドでand を作成しonFinish()ていますが、最後の 1 秒と終了の間の遅延が 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
                }
                 }

問題は次のとおりです。最後から 2 番目と最後のティックの間の実際のタイミングが影響を受けることなく、onFinish()a のメソッドで 長時間実行される可能性のあるアクションを実行する方法はありますか?CountDownTimer

4

1 に答える 1

1

onFinish()私は同じ問題を抱えていましたが、これを引き起こしているのはコードではないと思います。

(millisUntilFinished/1000 == 1)の代わりにアクションを実行する際の問題を回避しましたonFinish()

またmCountDownTextView.setText(String.valueOf((millisUntilFinished/1000) - 1))、テキストビューを 1 秒オフセットしていました。

于 2014-08-12T19:08:03.563 に答える