我正在制作一个使用CountDownTimer
并每秒显示一次的应用
文本视图中的值。我有3个时间不同的按钮,但是
按下不同的按钮时,textview上的值将显示CountDownTimer
所有时间的值同时如何重置倒数计时器
每次调用之前。
package com.rebootapp.myapplication;
import android.os.CountDownTimer;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
TextView textView;
CountDownTimer countDownTimer;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = findViewById(R.id.timer);
}
public void runtimer(View view) {
switch (view.getId()) {
case R.id.min3:
countDownTimer.cancel();
timer(10000);
break;
case R.id.min5:
countDownTimer.cancel();
timer(20000);
break;
case R.id.min10:
countDownTimer.cancel();
timer(30000);
break;
default:
textView.setText("");
break;
}
}
public void timer(int t){
countDownTimer = new CountDownTimer(t, 1000) {
@Override
public void onTick(long millisUntilFinished) {
textView.setText("" + millisUntilFinished / 1000);
}
@Override
public void onFinish() {
}
}.start();
}
}
答案 0 :(得分:0)
我用了这个,问题在timer()函数中得到解决,并消除了 countdowntimer.cancel();在所有情况下都得到解决
if (countDownTimer != null) {
countDownTimer.cancel();
}