CountDownTimer Android anhalten / fortsetzen
Ist es möglich, einen CountDownTimer in Android anzuhalten? Ich habe nach guten Lösungen gesucht, aber ich finde nur einige Möglichkeiten, die ich wirklich nicht mag. Speichern Sie einfach die verbleibende Zeit in einer Variablen und initialisieren Sie einen neuen CountDownTimer mit diesen Werten.
Diese Art von Lösungen funktioniert, aber sie sahen nicht so gut aus, weil ich zusammen mit meinem Countdown-Timer eine Fortschrittsanzeige und eine Textansicht verwende. War echt hässlich versuche diese beiden mit dem CountDown gut auszusehen ohne es wirklich "pausieren" zu können.
ier ist mein Code zum Initialisieren des CountDownTimer mit einer ProgressBar und einer TextVie
public void initProgress() {
if (mCountdownProgressBar == null)
mCountdownProgressBar = (CircleProgressBar) findViewById(R.id.progressBar);
mCountDownTime = 30000; //Insert your desire time in Milliseconds here
mCountdownProgressBar.setMaxProgress((int)TimeUnit.MILLISECONDS.toSeconds(mCountDownTime));
mCountDownTimer = new CustomCountDownTimer(mCountDownTime, 1000) {
@Override
public void onTick(long millisUntilFinished) {
Log.v("Log_tag", "Tick of Progress" + TimeUnit.MILLISECONDS.toSeconds(millisUntilFinished));
mCountdownProgressBar.setmProgress(TimeUnit.MILLISECONDS.toSeconds(millisUntilFinished));
mTimer.setText(Util.getTimeForTimer(millisUntilFinished, Util.TIME_FORMAT));
}
@Override
public void onFinish() {
mCountdownProgressBar.setmProgress(0);
mTimer.setText(Util.getTimeForTimer(0, Util.TIME_FORMAT));
}
};
mCountDownTimer.start();
}
Mit diesem Code können Sie eine Fortschrittsleiste und eine Textansicht zusammen mit Ihrem CountDownTimer festlegen. Um es ganz einfach zu unterbrechen und fortzusetzen, werde ich als nächstes eine benutzerdefinierte Klasse für CountDownTimer veröffentlichen.