Отключает набор дат с помощью materialdatetimepicker

Я использую materialdatetimepicker для настройки своего календаря. Мое требование: я хочу отключить все даты с сегодняшнего дня и следующего 31 дня.

Что я пробовал.

1 - Установите минимальную дату сегодня - datePickerDialog.setMinDate(now);

2 - Максимальная дата до 31 дня с сегодняшнего дня. - datePickerDialog.setMaxDate(cal);

3 - Отключены даты между ними. datePickerDialog.setDisabledDays (другие календари);

Когда я выполняю шаги 1, 2 и 3 вместе, календарь вообще не открывается, и приложение зависает.

Когда я делаю шаги (1,2) и 3 отдельно, я получаю правильные результаты. Но я хочу отображать только следующие 31 день и отключать их все.

Вот код, который я пробовал.

Где я ошибаюсь? Буду признателен за любую оказанную помощь.

        private DatePickerDialog datePickerDialog;

        DateTime startDateTime = new DateTime();
        DateTime endDateTime = new DateTime();
        endDateTime = endDateTime.plusDays(31);

        List<DateTime> otherDays = new ArrayList<>();
        while (startDateTime.isBefore(endDateTime)) {
            otherDays.add(startDateTime);
            startDateTime = startDateTime.plusDays(1);
        }

        Calendar[] otherCalendars = new Calendar[otherDays.size()];
                for (int count = 0; count < otherDays.size(); count++) {
                    otherCalendars[count] = otherDays.get(count).toGregorianCalendar();
                }

         datePickerDialog.setMinDate(now);
         Calendar cal = Calendar.getInstance();
         Date ddd = endDateTime.toDate();
         cal.setTime(ddd);
         datePickerDialog.setMaxDate(cal);
         datePickerDialog.setDisabledDays(otherCalendars);

Спасибо Р


person BRDroid    schedule 12.02.2018    source источник


Ответы (1)


У меня была такая же проблема, и я нашел решение для нее здесь вся неделя, кроме выходных в календаре[disable-whole-week-except-weekends]

Я использовал список с Calendar типом List<Calendar> weekends = new ArrayList<>(); и заполнил его днями, которые хочу отключить.

person Hossam Hassan    schedule 31.01.2019