我正在制作一个使用CountDownTimer
的应用程序,并在文本视图中显示每个第二个值。我有3个不同时间的按钮但按下不同的按钮时,textview上的值同时显示所有时间的CountDownTimer
值如何在每次调用它之前重置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();
}
}
我使用了这个问题,并在timer()函数内解决了问题并删除了countdowntimer.cancel();从所有情况来看,它得到了解决
if (countDownTimer != null) {
countDownTimer.cancel();
}