Минимальная максимальная дата средства выбора даты Android до уровня API 11

Я пытаюсь установить минимальную и максимальную дату средства выбора даты в Android до уровня API 11. Я использовал следующий код:

mDatePickerField = startDatePickerDialog.getClass().getDeclaredField("mDatePicker");
mDatePickerField.setAccessible(true);

DatePicker startDatePickerInstance =(DatePicker)mDatePickerField.get(startDatePickerDialog);
startDatePickerInstance.init(mYearMin, mMonthMin, mDayMin, new DatePicker.OnDateChangedListener() {
    @Override
    public void onDateChanged(DatePicker datePicker, int i, int i1, int i2) {
        Date maxDate = new Date(mYearMax, mMonthMax, mDayMax, 0, 0, 0);
        Date selectedDate = new Date(i, i1, i2, 0, 0, 0);
        if (selectedDate.after(maxDate)) {
            datePicker.updateDate(mYearMax, mMonthMax, mDayMax);                                        
        }
    }
}

Однако updateDateснова срабатывает onDateChanged, и средство выбора даты не обновляется.
Может ли кто-нибудь помочь решить проблему?

22
задан JJD 11 November 2012 в 18:01
поделиться