为什么CountDownTimer不允许间隔小于1s?

时间:2019-11-23 16:33:44

标签: android object kotlin timer countdowntimer

我正在尝试使用CountDownTimer对象,但不允许我更改countDownInternval。如果尝试将其设置为“ 500”,则计时器的工作方式与使用“ 1000”的方式相同。这是为什么?它应该快两倍。

object : CountDownTimer(30000, 500) {

                override fun onTick(millisUntilFinished: Long) {

                    TextView.text = (millisUntilFinished / 1000).toString() + ""
                }

                override fun onFinish() {
                   TextView.text = ("done!")
                }
            }.start()

1 个答案:

答案 0 :(得分:0)

如果使用此代码,

millisUntilFinished / 1000

然后TextView只能取整数值,因为您正在使用integer division 大约每秒更新两次,但是它将同一整数连续两次放入其中,如下所示:

29
29
28
28
27
27

...等等。我建议您尝试以下一种方法:

millisUntilFinished

或者这个:

millisUntilFinished / 1000.0f

以便您可以查看每个更新,并更加了解CountDownTimer的实际准确性。