在蜂窝下方的日期选择器中设定1990年至今的日期

时间:2013-12-24 08:30:37

标签: android date datepicker

我想在日期选择器对话框中将日期设置在1990年和当前日期之间的蜂巢中,使用函数setMinDate()和setMaxDate()可以使用上面的蜂窝版本,我尝试了以下代码,这是可能的要为较低版本设置mindate或max date,代码为

calendar = new GregorianCalendar();
                        mDatePickerField = dialog.getClass().getDeclaredField("mDatePicker");
                        mDatePickerField.setAccessible(true);
                        DatePicker datePicker = (DatePicker) mDatePickerField.get(dialog);
                        final int maxYear = calendar.get(Calendar.YEAR);
                        final int maxMonth = calendar.get(Calendar.MONTH);
                        final int maxDay = calendar.get(Calendar.DAY_OF_MONTH);


                       datePicker.init(maxYear, maxMonth, maxDay,
                                new OnDateChangedListener() {

                                    public void onDateChanged(DatePicker view, int year,
                                            int month, int day) {
                                        Calendar newDate = Calendar.getInstance();
                                        newDate.set(year, month, day);

                                        if (newDate.after(calendar)) {
                                            view.init(maxYear, maxMonth, maxDay, this);
                                        }
                                    }
                                });
                        Log.w(TAG, "API Level < 11 so not restricting date range...");

请给我一些新代码或更改datepicker的现有代码,同时支持mindate和maxdate ,,,,,谢谢

1 个答案:

答案 0 :(得分:0)

我认为您应该使用update代替init

替换此行

 view.init(maxYear, maxMonth, maxDay, this);

view.updateDate(maxYear, maxMonth, maxDay);