我有一个这样的对话框日期选择器:
public Dialog onCreateDialog(Bundle savedInstanceState) {
final Calendar calendar = Calendar.getInstance();
int yy = calendar.get(Calendar.YEAR);
int mm = calendar.get(Calendar.MONTH);
int dd = calendar.get(Calendar.DAY_OF_MONTH);
DatePickerDialog datePicker = new DatePickerDialog(getActivity(), this, yy, mm, dd);
datePicker.getDatePicker().setCalendarViewShown(false);
datePicker.getDatePicker().setMaxDate(new Date().getTime());
datePicker.setTitle("RENTRE TA DATE DE NAISSANCE.");
return datePicker;
}
我们可以看到我的问题 在图像上,今天的日期是 2014 年 7 月 27 日,我希望日期选择器在这个日期停止并且不显示 28 aout 谢谢你的帮助
最佳答案
将 1 天和 1 个月添加到您的日历实例。并将其传递给 setMaxDate()
// Set calendar to 1 day next from today
calendar.add(Calendar.DAY_OF_MONTH, 1);
// Set calendar to 1 month next
calendar.add(Calendar.MONTH, 1);
datePicker.getDatePicker().setMaxDate(calendar.getTimeInMillis());
所以你的方法看起来像
public Dialog onCreateDialog(Bundle savedInstanceState) {
final Calendar calendar = Calendar.getInstance();
int yy = calendar.get(Calendar.YEAR);
int mm = calendar.get(Calendar.MONTH);
int dd = calendar.get(Calendar.DAY_OF_MONTH);
DatePickerDialog datePicker = new DatePickerDialog(getActivity(), this,
yy, mm, dd);
datePicker.getDatePicker().setCalendarViewShown(false);
// Set calendar to 1 day next from today
calendar.add(Calendar.DAY_OF_MONTH, 1);
// Set calendar to 1 month next
calendar.add(Calendar.MONTH, 1);
datePicker.getDatePicker().setMaxDate(calendar.getTimeInMillis());
datePicker.setTitle("RENTRE TA DATE DE NAISSANCE.");
return datePicker;
}
关于java - DatePickerDialog setMaxDate 多显示一个月零一天,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25545449/