How to Disable future dates in Android date picker
Java Code :
mExpireDate.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// To show current date in the datepicker
final Calendar mcurrentDate = Calendar.getInstance();
int mYear = mcurrentDate.get(Calendar.YEAR);
int mMonth = mcurrentDate.get(Calendar.MONTH);
int mDay = mcurrentDate.get(Calendar.DAY_OF_MONTH);
DatePickerDialog mDatePicker = new DatePickerDialog(
EventRegisterActivity.this, new OnDateSetListener() {
public void onDateSet(DatePicker datepicker,
int selectedyear, int selectedmonth,
int selectedday) {
mcurrentDate.set(Calendar.YEAR, selectedyear);
mcurrentDate.set(Calendar.MONTH, selectedmonth);
mcurrentDate.set(Calendar.DAY_OF_MONTH,
selectedday);
SimpleDateFormat sdf = new SimpleDateFormat(
getResources().getString(
R.string.date_card_formate),
Locale.US);
mExpireDate.setText(sdf.format(mcurrentDate
.getTime()));
}
}, mYear, mMonth, mDay);
mDatePicker.setTitle(getResources().getString(
R.string.alert_date_select));
mDatePicker.show();
}
});
How to do it?
Get the DatePicker
from DatePickerDialog
with getDatePicker()
. Set the max date to current date with setMaxDate()
:
mDatePicker.getDatePicker().setMaxDate(System.currentTimeMillis());
Requires API level 11.