我正在尝试在我的一个应用程序中使用秒表,并且我已经将它开始计算在开始时的秒数并在停止时停止计数。我的问题是它会在60秒后继续运行。例如,如果我等了两分钟,我会得到120秒。格式秒表要显示00:00
所以我的问题是我该如何做到这一点,所以一旦秒达到60分钟会增加一个秒会重新开始?
所以,而不是:120我会得到2:00。下面是我的代码有:
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);
}
通过我看着this question但他的问题是与时间跨度,如果我理解正确的是从秒表不同的方式(指正如果我错了)。感谢您的时间和精力。
问题,你提到那到是C#! – t0mm13b 2012-08-12 00:31:20
看看这个问题 - http://stackoverflow.com/questions/5937043/problem-with-stopwatch-in-android?rq=1 – t0mm13b 2012-08-12 00:32:16
为什么你把我的问题投下来?只是想知道,所以我可以改善未来的问题。 – ninge 2012-08-12 00:41:35