无法在DatePickerDialog上设置当前日期

时间:2016-04-08 10:01:19

标签: android datepicker

这是我的代码:

DatePickerDialog dialog = new DatePickerDialog(OtherEventActivity.this, R.style.DatePickerDialogTheme,
    new DateSetListener(), mYear, (mMonth), mDay);
try {
      dialog.getDatePicker().setMaxDate(System.currentTimeMillis());
} catch (Exception e) {}

dialog.show();

当我启动应用时,我无法在Android 5上按当天(更高或更低的效果)。

UPD - 我也试过了:

dialog.getDatePicker().setMaxDate(new Date().getTime());

1 个答案:

答案 0 :(得分:2)

Android 5中存在一个错误。如果您将最大日期设置为今天,日期选择器不允许您选择当前日期。我使用的解决方法是

if (Build.VERSION.SDK_INT == Build.VERSION_CODES.LOLLIPOP)
      dialog.getDatePicker().setMaxDate(System.currentTimeMillis() +  TimeUnit.DAYS.toMillis(24));
else
     dialog.getDatePicker().setMaxDate(System.currentTimeMillis());

它不是一个完美的解决方案,但它有效。