J'ai un bouton, qui ouvre un AlertDialog. Ensuite, il commence un compte à rebours, et rafraîchir le texte se trouve dans la boîte de dialogue:Comment faire un compte à rebours dans Dialog, et récupérer le compte à rebours si la boîte de dialogue est à nouveau ouverte
private void countDown(int cooldown) {
countDownTimer = new CountDownTimer(cooldown, COOLDOWN_TIME_STEP_MILLIS) { //sec , steps
public void onTick(long millisUntilFinished) {
isTimerActive = false;
if (mFingerprintText != null) {
updateDialogText("Awsome text count: " + millisUntilFinished/COOLDOWN_TIME_STEP_MILLIS + " segs", false);
}
}
public void onFinish() {
isTimerActive = false;
if (mFingerprintText != null) {
updateDialogText("Awsome text count finished", false);
}
}
}.start();
}
Mais, si l'utilisateur fermer le dialiog et l'ouvre à nouveau, je veux continuer pendant le compte à rebours du temps écoulé. Je veux dire, si j'ai commencé le compte à rebours à 13:00:00, (compte 1 min), et l'utilisateur ferme à 13:00:15, si l'utilisateur ouvre à nouveau, par exemple à: 13:00:30, je veux continuez le compte, donc compteur à ce moment-ci encore faut compter 30 secondes de plus ...
J'ai essayé plusieurs façons, mais je n'y arrive pas.
private void showTimerDialog(Context context) {
AlertDialog.Builder builder = new AlertDialog.Builder(context);
View dialogView = LayoutInflater.from(context).inflate(R.layout.dialog_request_android_timer, null);
builder.setView(dialogView);
if (!isTimerActive) {
mTimerText = (TextView) dialogView.findViewById(R.id.dialog_timer_text);
}
builder.setOnDismissListener(new DialogInterface.OnDismissListener() {
@Override
public void onDismiss(DialogInterface dialog) {
if (mActive) {
deactivate();
}
}
});
builder.setOnCancelListener(new DialogInterface.OnCancelListener() {
@Override
public void onCancel(DialogInterface dialog) {
mDialog.dismiss();
}
});
builder.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
mDialog.dismiss();
}
});
mDialog = builder.create();
mDialog.setCanceledOnTouchOutside(false);
mDialog.show();
}
Je vais jeter un coup d'oeil, merci – Shudy