Comment annuler CountDownTimer?
J'ai un AlertDialog avec un compte à rebours, et j'ai un bouton annuler l'installation, et il annule la boîte de dialogue, mais la minuterie continue à aller! Quelqu'un sait-il comment faire pour annuler le compte à rebours d'un compte à rebours? Toute aide serait appréciée!
private void timerDialog() {
timerDialog = new AlertDialog.Builder(this).create();
timerDialog.setTitle("Timer");
timerDialog.setMessage("Seconds Remaining: "+timerNum*1000);
timerDialog.setCancelable(false);
timerDialog.setButton("Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface aboutDialog, int id) {
timerDialog.cancel();
}
});
timerDialog.show();
new CountDownTimer(timerNum*1000, 1000) {
@Override
public void onTick(long millisUntilFinished) {
timerDialog.setMessage("Seconds Remaining: "+ (millisUntilFinished/1000));
}
@Override
public void onFinish() {
Vibrator v = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
v.vibrate(500);
timerDialog.cancel();
}
}.start();
}
OriginalL'auteur William L. | 2012-06-05
Vous devez vous connecter pour publier un commentaire.
Vous semble être l'appel de l'annuler dans la boîte de Dialogue, mais jamais sur la minuterie. Vous devez conserver une référence à la CountDownTimer, et appeler sa méthode d'annulation de votre méthode onClick.
OriginalL'auteur wolfcastle
Appeler le
cancel()
méthode sur CountDownTimerOriginalL'auteur Eduardo Sanchez-Ros