相关疑难解决方法(0)

Android datepicker min最大日期为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);                                        
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,该updateDate方法onDateChanged再次触发,并且日期选择器未更新.
任何人都可以帮助解决问题吗?

android android-datepicker

22
推荐指数
4
解决办法
2万
查看次数

标签 统计

android ×1

android-datepicker ×1