我正在构建一个使用计时器的应用程序。我有一个带有开始和停止按钮的简单计时器。它可以工作,但我希望秒数重置为 60。目前它一直保持 61、62、63 等。我可以获得一些帮助吗?下面是我的启动方法、停止方法和带有计时器的可运行方法。
private long startTime = 0;
private long timeInMilliSeconds = 0;
private long updatedTime = 0;
private long timeSwapBuff = 0;
start.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
startTime = SystemClock.uptimeMillis();
customHandler.postDelayed(updateTimerThread, 0);
}
});
stop.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
timeSwapBuff += timeInMilliSeconds;
customHandler.removeCallbacks(updateTimerThread);
}
});
private Runnable updateTimerThread = new Runnable() {
@Override
public void run() {
timeInMilliSeconds = SystemClock.uptimeMillis() - startTime;
updatedTime = timeSwapBuff + timeInMilliSeconds;
int secs = (int) (updatedTime / 1000);
int mins = secs / 60;
int milliseconds = (int) (updatedTime % 1000);
timer.setText("" + mins + ":" + String.format("%02d", secs) +
":" + String.format("%02d", milliseconds));
customHandler.postDelayed(this, 0);
}
};
最佳答案
您是否考虑像这样打印 time%60
而不是打印实际的计时器值
int timeEllapsed = ... // the actual time spent for eg lets say 98
int timeToBePrinted = timeEllapsed%60 // the time you are going to show (38 seconds)
关于java - 需要 android 计时器秒数重置为 60,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40875331/