i am using Gregorian calendar and i need to disable a previous date to till current date in android. i already checked setMinDate method but its not working.. can anyone help me? here is my code..
public void SelectDateTime() {
final View dialogView = View.inflate(getApplicationContext(), R.layout.date_picker_activate, null);
DateTimeDialog = new AlertDialog.Builder(getApplicationContext()).create();
dialogView.findViewById(R.id.cancelBtn).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
DateTimeDialog.dismiss();
}
});
dialogView.findViewById(R.id.date_time_set).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
DatePicker datePicker = (DatePicker) dialogView.findViewById(R.id.datePicker1);
TimePicker timePicker = (TimePicker) dialogView.findViewById(R.id.timePicker);
Calendar calendar = new GregorianCalendar(datePicker.getYear(),
datePicker.getMonth(),
datePicker.getDayOfMonth(),
timePicker.getCurrentHour(),
timePicker.getCurrentMinute());
datePicker.getMinDate();
final long today1 = System.currentTimeMillis() - 1000;
calendar.after(System.currentTimeMillis());
// datePicker.setMinDate(calendar.getTimeInMillis());
Use this code
public static class DatePickerFragment extends DialogFragment
implements DatePickerDialog.OnDateSetListener {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
final Calendar c = Calendar.getInstance();
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH);
int day = c.get(Calendar.DAY_OF_MONTH);
DatePickerDialog dialog = new DatePickerDialog(getActivity(), this, year, month, day);
// dialog.getDatePicker().setMaxDate(c.getTimeInMillis());
dialog.getDatePicker().setMinDate(c.getTimeInMillis());
return dialog;
}
public void onDateSet(DatePicker view, int year, int month, int day) {
txt_date.setText(String.format(Locale.ENGLISH, "%02d/%02d/%d", day, month + 1, year));
}
}
Call this method in side button click like
DialogFragment newFragment = new DatePickerFragment();
newFragment.show(getActivity().getSupportFragmentManager(), "datePicker");
This line set min date - dialog.getDatePicker().setMinDate(c.getTimeInMillis());
and use this to set max date
dialog.getDatePicker().setMaxDate(c.getTimeInMillis());