gpt4 book ai didi

java - 格式化秒表以显示 00 :00

转载 作者:太空宇宙 更新时间:2023-11-03 12:00:00 25 4
gpt4 key购买 nike

我正在尝试在我的一个应用程序中使用秒表,我已经将它设置为在开始时开始计时秒表并在停止时停止计时。我的问题是它会在 60 秒后继续。例如,如果我等待两分钟,我将得到 120 秒。

所以我的问题是我怎样才能做到,一旦秒数达到 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但他的问题出在 TimeSpan 上,如果我理解正确的话,那与 Stopwatch 不同(如果我错了请纠正我)。感谢您的时间和精力。

最佳答案

如果您以秒为单位的时间开始:

display = String.format("%d:%02d", seconds / 60, seconds % 60);

如果分钟数为 0 时您不想要:

if (seconds < 60)
display = String.format("%02d", seconds);
else
display = String.format("%d:%02d", seconds / 60, seconds % 60);

关于java - 格式化秒表以显示 00 :00,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11918729/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com