Starting with API level 11, there is a way to do this:
DatePicker.setMaxDate(long maxDate)
If it should work in previous versions, use this method:
public void init(int year, int monthOfYear, int dayOfMonth, DatePicker.OnDateChangedListener onDateChangedListener)
You can pass your own OnDateChangedListener, which "resets" invalid dates to the last valid:
DatePicker picker = ... int year = ... int monthOfYear = ... int dayOfMonth = ... picker.init(year, monthOfYear, dayOfMonth, new DatePicker.OnDateChangedListener() { @Override public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
Markus wΓΆrz
source share