我有一个机器人倒数计时器这确实是不一致的,而不会定期或正确地更新GUI。
public boolean bTimerRunning = false;
public CountDownTimer timer;
private long currentTime = 180000;
public void onTimerTap(View v) {
if (bTimerRunning) {
//stop timer
timer.cancel();
bTimerRunning = false;
} else {
//start timer
final TextView etTime = (TextView) findViewById(R.id.tvTimer);
//initalize Timer
timer = new CountDownTimer(currentTime, 1000) {
int secondsLeft = 0;
@Override
public void onTick(long millisUntilFinished) {
String currentTimeStr = String.format("%d:%02d",
TimeUnit.MILLISECONDS.toMinutes(millisUntilFinished),
TimeUnit.MILLISECONDS.toSeconds(millisUntilFinished) -
TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millisUntilFinished))
);
//save value to "pause" timer
currentTime = millisUntilFinished;
//show on text
etTime.setText(currentTimeStr);
}
@Override
public void onFinish() {
}
};
timer.start();
//set boolean
bTimerRunning = true;
}
}
从我在过去做题都看到了,这是典型的计时器的最后几秒钟,但我看到它在最初的几个蜱,或只是在中间。 我怎样才能让我的计时器更好的股票? 将缩小刻度时间的工作和四舍五入?