更新: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
}
}
问题是:有没有一种方法可以在 CountDownTimer
的 onFinish()
方法中执行可能长时间运行的操作,而无需倒数第二个和最后一个报价之间的实际时间受到影响?
最佳答案
我遇到了同样的问题,我认为不是 onFinish()
中的代码导致了这个问题。
我解决了在 (millisUntilFinished/1000 == 1)
而不是 onFinish()
时执行操作的问题。
我还使用 mCountDownTextView.setText(String.valueOf((millisUntilFinished/1000) - 1))
将 TextView 偏移一秒。
关于android - onFinish() CountDownTimer 方法太长?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19882782/