I want to disable the past dates of date picker in android. i can do it by using
dialog.getDatePicker().setMinDate(System.currentTimeMillis() - 1000);
To resolve bug for Android Lollipop you can validate date as below:
int mYear,mMonth,mDay;
Calendar mcurrentDate = Calendar.getInstance();
mYear = mcurrentDate.get(Calendar.YEAR);
mMonth = mcurrentDate.get(Calendar.MONTH);
mDay = mcurrentDate.get(Calendar.DAY_OF_MONTH);
DatePickerDialog mDatePicker = new DatePickerDialog(context, new DatePickerDialog.OnDateSetListener() {
public void onDateSet(DatePicker datepicker, int selectedyear, int selectedmonth, int selectedday) {
// TODO Auto-generated method stub
// validate here with condition to avoid to select past dates
if (selectedyear == mYear && (selectedmonth+1) == mMonth+1) {
if(selectedday < mDay){
Toast.makeText(context, "invalid date", Toast.LENGTH_LONG).show();
return;
}
}
textview.setText(selectedday + "/" + (selectedmonth+1) + "/" + selectedyear);
}
}, mYear, mMonth, mDay);
mDatePicker.getDatePicker().setMinDate(System.currentTimeMillis() - 1000);
if(!mDatePicker.isShowing()){
mDatePicker.show();
}