我一直试图格式化倒数计时器并没有取得多大成功。计时器将正确的分钟/小时/秒数倒计时作为输入,但是,在输出回用户而不是美观的正常看倒计时器时,我得到以下不同的输出: When attempting to countdown from 25 minutes
当试图从25分钟开始倒计时时,当我尝试从10分钟倒计时时,我有以下情况: 10 minutes 它似乎可以在1分钟或更短的时间内正常倒计时。
这是我必须格式化输出的代码,我还包括它所在的CounterClass的代码。
private class CounterClass extends CountDownTimer {
public CounterClass(long millisInFuture, long countDownInterval) {
super(millisInFuture, countDownInterval);
}
@Override
public void onTick(long millisUntilFinished) {
String hms = String.format("%02d:%02d:%02d",
TimeUnit.MILLISECONDS.toHours(millisUntilFinished),
TimeUnit.MILLISECONDS.toMinutes(millisUntilFinished),
TimeUnit.MILLISECONDS.toSeconds(millisUntilFinished));
timeDisp.setText(hms);
}
}
提前致谢!
答案 0 :(得分:0)
您可以通过以下方式获得营业时间:
int hours = (int) ((millisUntilFinished / (1000*60*60)) % 24);
请注意,您可以通过以下方式计算任何给定的分钟数:
_tv.setText(""+String.format("%d min, %d sec",
TimeUnit.MILLISECONDS.toMinutes( millisUntilFinished),
TimeUnit.MILLISECONDS.toSeconds(millisUntilFinished) -
TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millisUntilFinished))));