我研究了一些AlertDialog倒計時的代碼,但是當我嘗試代碼時,它不倒計數,只顯示了它被點擊的時間,但當它再次被點擊時,它被打勾,但我希望它成爲在對話框中進行倒計時。那麼這裏是我的代碼。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();
}
}
});
而不是設置消息來動態生成器,設置消息AlertDialog –