J'ai recherché du code pour le compte à rebours sur AlertDialog mais quand j'ai essayé le code, il ne montre pas le temps qu'il est cliqué mais quand il est cliqué de nouveau il est coché mais je voulais qu'il soit dans la boîte de dialogue quand il compte à rebours. Eh bien, voici mon code.Compte à rebours dans alertDialog Android Studio
fabTimer.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
final AlertDialog.Builder builder = new AlertDialog.Builder(downPaymentActivity.this);
builder.setTitle("Time left");
try {
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
TimeZone tz = TimeZone.getTimeZone("Asia/Manila");
sdf1.setTimeZone(tz);
String currentDateandTime = sdf1.format(new Date());
String givenDateString = tvDueDate.getText().toString();
Date date1 = sdf1.parse(currentDateandTime);
Date date2 = sdf1.parse(givenDateString);
long restDatesinMillis = date2.getTime() - date1.getTime();
final String hms = String.format("%02d:%02d:%02d",
TimeUnit.MILLISECONDS.toHours(restDatesinMillis),
TimeUnit.MILLISECONDS.toMinutes(restDatesinMillis) - TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(restDatesinMillis)),
TimeUnit.MILLISECONDS.toSeconds(restDatesinMillis) - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(restDatesinMillis)));
builder.setMessage(hms);
new CountDownTimer(10000, 1000) {
@Override
public void onTick(long l) {
builder.setMessage(hms + (l/1000));
}
@Override
public void onFinish() {
}
}.start();
builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
dialogInterface.cancel();
}
});
builder.show();
} catch (ParseException e) {
e.printStackTrace();
}
}
});
Au lieu de mettre un message à Builder dynamiquement, un message mis à AlertDialog –