Ich habe eine Schaltfläche, die einen AlertDialog öffnet. Dann beginnt es einen Countdown, und aktualisieren Sie den Text im Dialog:Wie Countdown in Dialog und Countdown wiederherstellen, wenn Dialog erneut geöffnet wird
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();
}
Aber, wenn Benutzer die dialiog schließen und öffnet sie wieder, ich will übergeben den Countdown während der Zeit fortzusetzen. Ich meine, wenn ich den Countdown um 13:00:00 begann, (zählt 1 min) und Benutzer um 13:00:15 schließen, wenn der Benutzer erneut öffnet, zum Beispiel um: 13:00:30, möchte ich setze die Zählung fort, so dass Zähler in diesem Moment immer noch 30 Sekunden zählen müssen ...
Ich habe verschiedene Wege ausprobiert, aber ich erreiche es nicht.
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();
}
Ich werde einen Blick, danke – Shudy