我研究了一些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 –