String hms = String.format("%02d:%02d",
TimeUnit.MILLISECONDS.toMinutes(millisUntilFinished) - TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(millisUntilFinished)),
TimeUnit.MILLISECONDS.toSeconds(millisUntilFinished) - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millisUntilFinished)));
我真的没有得到
1)分钟 - 小时如何工作TimeUnit.MILLISECONDS.toMinutes(millisUntilFinished) - TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(millisUntilFinished))
2)为什么它始终以 00:01 结束?
3)onTick()
的{{1}}方法如何被调用?
答案 0 :(得分:1)
1)分钟 - 小时如何工作TimeUnit.MILLISECONDS.toMinutes(millisUntilFinished) - TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(millisUntilFinished))
不知道你为什么这样做。你可以写
String hms = String.format("%02d:%02d", TimeUnit.MILLISECONDS.toMinutes(millisUntilFinished) TimeUnit.MILLISECONDS.toSeconds(millisUntilFinished) - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millisUntilFinished)));
2)为什么它总是以00:01结束?
是的,你是对的!在倒数计时器中,最后一次调用不会触发onTick()方法,它会调用下面的方法。
public void onFinish() {
mTextField.setText("00:00");
}
所以你可以设置" 00:00"在上面代码片段中显示的onFinish()方法中。
3)如何调用CountDowntimer的onTick()方法?
-onTick()在提供给CountDowntimer构造函数的定期间隔内触发回调。