我有一个应用程序,其按钮点击开始有2个计时器。
当它们启动时,计时器倒计时显示在文本视图中,以便用户看到秒倒数(10,9,8,7等)
一个计数器是45秒计时器,另一个是30秒计时器。 我注意到,当计时器开始时,他们采取以下两种方式之一:定时器倒计时显示从正确的一个开始的秒数(然后跳过一个)45,43,42,41等)或另一个时间它不显示起始值并直接跳转到(44,44,42,41等)并且不跳过任何。
最终,我希望这些计时器合理地显示初始值和倒计时。即总是首先显示45,然后是44,43,42,41等。
关于为什么这可能会或可能不会这样做的任何想法? 我在班上使用了android CountDownTimer。
更新:这是我的CountDownTimer的代码
public CountDown (long millisInFuture, long countDownInterval, Button button ) {
super(millisInFuture, countDownInterval);
this.button = button;
}
//Timer Countdown
@Override
public void onTick(long millisUntilFinished) {
long timeRemaining = (millisUntilFinished/1000);
button.setText((millisUntilFinished/1000)+"");
答案 0 :(得分:0)
我试图复制这个问题,但不能。也许发布你的代码?
这是我的简单测试,它首先显示45,然后按顺序倒计时,并在零结束时完成。
Button b = (Button) findViewById(R.id.button1);
final TextView tv = (TextView) findViewById(R.id.tv_1);
b.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
new CountDownTimer(45 * 1000, 1000) {
int x = 45;
@Override
public void onTick(long millisUntilFinished) {
tv.setText(Integer.toString(x));
x--;
}
@Override
public void onFinish() {
tv.setText("0");
}
}.start();
}
});