我正在尝试在我的一个应用程序中使用秒表,我已经将它带到了它将开始计数秒数并停止计数停止的位置。我的问题是它会在 60 秒后继续。例如,如果我等了两分钟,我会得到 120 秒。
所以我的问题是我怎样才能做到这一点,一旦秒数达到 60 分钟就会增加一秒并且秒数会重新开始?
所以我会得到 2:00 而不是 :120。这是我的代码:
final int MSG_START_TIMER = 0;
final int MSG_STOP_TIMER = 1;
final int MSG_UPDATE_TIMER = 2;
Stopwatch timer = new Stopwatch();
final int REFRESH_RATE = 100;
Handler mHandler = new Handler()
{
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
switch (msg.what) {
case MSG_START_TIMER:
timer.start();
mHandler.sendEmptyMessage(MSG_UPDATE_TIMER);
break;
case MSG_UPDATE_TIMER:
tvTextView.setText(":"+ timer.getElapsedTimeSecs());
mHandler.sendEmptyMessageDelayed(MSG_UPDATE_TIMER,REFRESH_RATE);
break;
case MSG_STOP_TIMER:
mHandler.removeMessages(MSG_UPDATE_TIMER);
timer.stop();
tvTextView.setText("");
break;
default:
break;
}
}
};
还有:
public void start(View v) {
mHandler.sendEmptyMessage(MSG_START_TIMER);
}
public void stop(View v) {
mHandler.sendEmptyMessage(MSG_STOP_TIMER);
}
顺便说一句,我查看了这个问题,但他的问题在于 TimeSpan,如果我理解正确,这与秒表不同(如果我错了,请纠正我)。感谢您的时间和精力。