我试图阻止用户在DatePicker上选择未来的日期。 由于我至少定位到Android 2.3,因此我无法使用 setMaxDate 。所以我尝试为此开发一些解决方法:
public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth){
Calendar selectedDate = Calendar.getInstance();
selectedDate.set(year, monthOfYear, dayOfMonth);
Calendar now = Calendar.getInstance();
if (selectedDate.after(now)){
datePicker.updateDate(now.get(Calendar.YEAR), now.get(Calendar.MONTH), now.get(Calendar.DATE));
}
}
但是这会产生一个 StackOverflowError - 也许是因为它在 DateChanged上而不是在 DateChanged之后,因此该方法无限地调用自身??
但是我该怎么做呢?