0
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()方法?CountDowntimer

4

1 回答 1

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");
}

因此,您可以在上面代码片段中显示的 onFinish() 方法中设置“00:00”。

3) CountDowntimer 的 onTick() 方法是如何被调用的?

-onTick() 回调按提供给 CountDowntimer 构造函数的定期间隔触发。

于 2016-11-21T09:17:48.023 回答