Я создаю приложение, которое использует CountDownTimer
и показывает каждое второе значение в текстовом представлении.У меня есть 3 кнопки с разным временем, но при нажатии разных кнопок значение в текстовом представлении показывает значение 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();
}
}