各位大家好,并提前致谢!
我有一个CountDownTimer,我希望暂停,同时我显示从1到给定数字的增加计数,间隔。问题是,使用下面的代码,计数器有时会达到29,但有时只有28,我不知道为什么。
有人能帮助我吗?。
public void CountDown(View v)
{
int FinishNumber = 30;
final CountDownTimer CountDown = new CountDownTimer(FinishNumber * 100, 100)
{
int NumberToShow = 1;
public void onTick(long millisUntilFinished)
{
CopyrightTV.setText(String.valueOf(NumberToShow++));
}
public void onFinish()
{
CopyrightTV.setText(String.valueOf(NumberToShow));
this.cancel();
}
}
.start();
}
答案 0 :(得分:0)
这不是一个奇怪的行为 - 考虑到第一个onTick(long millisUntilFinished)仅在100ms之后调用(即你设置的间隔),而不是在你启动CountDownTimer时调用。
其次,CountDownTimer不是100%精确的计时器,所以你可以期待这种“奇怪的行为”。
修改强>
如果准确性不是很重要,你可以尝试将CountDownTimer增加几百毫秒,如下所示:
<climits>