我创建了一个日期选择器并将最大日期设置为当前日期,但我得到了一个奇怪的错误。它显示下一个月和第二天在车轮下方,什么都不应该在那里。当您尝试滚动到它们时,它们会消失并且无法选择。
我的日期拣货代码:
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);
以下是正在发生的事情的图片
答案 0 :(得分:1)
我遇到了同样的问题。 我的解决方案是将Calendar对象的小时也设置为11:
yourCalendarObject.set(Calendar.HOUR, 11);
然后使用日历对象从Datepicker设置setMaxDate。
yourDatePicker.setMaxDate(yourCalendarObject.getTimeInMillis());
希望它可以帮助任何人。
编辑:我强烈建议您使用库来完成所有这些操作。 它负责数据采集器的完整处理,并解决了我的错误: https://github.com/wdullaer/MaterialDateTimePicker