Я создал DatePickerDialog, и я пытаюсь ограничить средство выбора до максимальной даты «сегодня» (в настоящее время: 2020, 13 июля), например:
DatePickerDialog(
activity,
OnDateSetListener { _: DatePicker?, year: Int, monthOfYear: Int, dayOfMonth: Int ->
selectedBirthday.set(year, monthOfYear, dayOfMonth)
},
1980, 7, 2
).apply {
datePicker.maxDate = System.currentTimeMillis() // max date = today
}.show()
Диалоговое окно открывается правильно с данными по умолчанию («1980, 02 августа»).
Однако я обнаружил ошибку, когда выбрано «1980, 02 августа» и я меняю год до 2020: в диалоговом окне вверху отображается «2020, 02 августа» игнорируя maxDate настройку лимита в datePicker , но календарь ниже правильно ограничено до 13 июля.
Скриншот: Android DatePickerDialog игнорирует maxDate
Если я нажму кнопку «ОК», год, monthOfYear и dayOfMonth, возвращенные моим DateSetListener, будут 2020, август 02 , что является датой в будущем из того, что хотел. Есть ли способ избежать этой ошибки в DatePickerDialog с игнорированием maxDate?