在DatePickerDialog上设置最大日期的错误

时间:2014-06-04 14:21:39

标签: android

我创建了一个日期选择器并将最大日期设置为当前日期,但我得到了一个奇怪的错误。它显示下一个月和第二天在车轮下方,什么都不应该在那里。当您尝试滚动到它们时,它们会消失并且无法选择。

我的日期拣货代码:

    DatePickerDialog dialog = new DatePickerDialog(this, datePickerListener, year, month, day);
    dialog.getDatePicker().setMaxDate(new Date().getTime());
    return dialog;

如何获得年,月,日:

    final Calendar c = Calendar.getInstance();
    year = c.get(Calendar.YEAR);
    month = c.get(Calendar.MONTH);
    day = c.get(Calendar.DAY_OF_MONTH);

以下是正在发生的事情的图片

enter image description here

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题。 我的解决方案是将Calendar对象的小时也设置为11:

yourCalendarObject.set(Calendar.HOUR, 11);

然后使用日历对象从Datepicker设置setMaxDate。

yourDatePicker.setMaxDate(yourCalendarObject.getTimeInMillis());

希望它可以帮助任何人。

编辑:我强烈建议您使用库来完成所有这些操作。 它负责数据采集器的完整处理,并解决了我的错误: https://github.com/wdullaer/MaterialDateTimePicker