我需要显示一个带有小时、分钟和秒的计时器。目前我使用的是android.os.CountDownTimer(1000*60*60, 1000)。我感觉它不完全适合我的需求,因为我不需要它停止,所以我只能输入巨大的值作为倒计时值。
我是否可能错过了另一种无限显示时间滴答声的方法?
我需要显示一个带有小时、分钟和秒的计时器。目前我使用的是android.os.CountDownTimer(1000*60*60, 1000)。我感觉它不完全适合我的需求,因为我不需要它停止,所以我只能输入巨大的值作为倒计时值。
我是否可能错过了另一种无限显示时间滴答声的方法?
private final Runnable mUpdateTimeTask = new Runnable() {
@Override
public void run() {
final long start = 0;
// long millis = SystemClock.uptimeMillis() ;
long millis = SystemClock.uptimeMillis() - start;
int seconds = (int) (millis / 1000);
int minutes = seconds / 60;
seconds = seconds % 60;
if (seconds < 10) {
waitingTime_Time.setText("" + minutes + ":0" + seconds);
} else {
waitingTime_Time.setText("" + minutes + ":" + seconds);
}
mHandler.postAtTime(this,
start + (((minutes * 60) + seconds + 1) * 1000));
}
};
mStartTime = System.currentTimeMillis();
- 返回的值比 mStartTime = System.currentTimeMillis();
多得多,这会导致负值更新。但是将开始时间设置为零后,计时器每100毫秒更新一次。