Установка конкретной даты в datePickerdialog

Я установил MaxDate в datepickerdialog. Он работает хорошо, но минимальное значение в сегменте года - 1980. Как я могу установить это значение, скажем, 1900. Мой код:

DatePickerDialog dp=new DatePickerDialog(getParent(),datesetListener,day,month,year);
dp.getDatePicker().setMaxDate(System.currentTimeinMillis());

2 ответа

Попробуй это dp.setMinDate(new Date(1900,1,1));

Вы можете получить базовый DatePicker из DatePickerDialog (просто вызвав getDatePicker()) и установить его границы, используя:

setMinDate (long minDate)

setMaxDate (long maxDate)

Где аргумент - это обычное количество миллисекунд с 1 января 1970 года 00:00:00 в часовом поясе по умолчанию. Конечно, вам все равно придется вычислять эти значения, но это должно быть тривиально для класса Calendar: просто передать текущую дату и добавить или вычесть x лет из этого.

Ссылка здесь и здесь

Образец кода

        Date min = new Date(2013-1900, 4, 21);
        DatePicker p = getDatePicker();
        p.setMinDate(min.getTime());
Другие вопросы по тегам