Как включить даты только между текущей датой и предыдущими 7 днями в DatePickerDialog?

Следующее изображение представляет собой веб-выбор даты. Там можно выбрать только между текущей датой и предыдущими 7 днями.

введите здесь описание изображения

Я должен сделать это на Android, используя DatePickerDialog. Я реализовал DatePickerDialog на моем EditText OnClickListener в качестве примера здесь. Вопрос в том, как сделать так, чтобы пользователь не мог выбирать из этого диапазона? Есть идеи?


person Zin Win Htet    schedule 08.03.2016    source источник


Ответы (1)


Вы можете установить минимальную и максимальную дату.

Calendar cal = Calendar.getInstance();

cal.add(Calendar.DAY_OF_MONTH, -7);
Date result = cal.getTime();
mDatePicker.setMaxDate(System.currentTimeMillis());
mDatePicker.setMinDate(result.getTime());
person Shoeb Siddique    schedule 08.03.2016
comment
отлично, это то, что мне нужно. Ты настоящий MVP. - person Zin Win Htet; 08.03.2016
comment
Пожалуйста, примите как правильное, если это было действительно полезно :) - person Shoeb Siddique; 08.03.2016
comment
вторая строка не сработала, чувак, она должна быть mDatePicker.setMinDate(newCalendar.get(cal.MILLISECOND)); - person Zin Win Htet; 08.03.2016
comment
Но вы хотите установить минимальную дату 7 дней назад? - person Shoeb Siddique; 08.03.2016
comment
yap, result.getTime() не является правильным типом параметра. Параметр методов setMaxDate и setMinDate должен быть в миллисекундах. Вот почему я просто конвертирую кал в миллисекунды. :) - person Zin Win Htet; 08.03.2016
comment
Ладно, можно и так пройти. :) - person Shoeb Siddique; 08.03.2016
comment
Большие усилия, чувак ... Это действительно полезно для меня. - person Vishal Vaishnav; 03.03.2018