我想在日期选择器对话框中将日期设置在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 ,,,,,谢谢
答案 0 :(得分:0)
我认为您应该使用update
代替init
。
替换此行
view.init(maxYear, maxMonth, maxDay, this);
与
view.updateDate(maxYear, maxMonth, maxDay);