0

Here I need to restrict the datepicker dialog for toDt from accepting dates below fromDt. How do I do that? Please help.

private void setDateTimeField()
{
    fromDt_edt.setOnClickListener(this);
    toDt_edt.setOnClickListener(this);

    Calendar newCalendar = Calendar.getInstance();
    fromDt = new DatePickerDialog(this, new OnDateSetListener()
    {
        public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth)
        {
            Calendar newDate = Calendar.getInstance();
            newDate.set(year, monthOfYear, dayOfMonth);
            fromDt_edt.setText(dateFormatter.format(newDate.getTime()));
        }

    },newCalendar.get(Calendar.YEAR), newCalendar.get(Calendar.MONTH), newCalendar.get(Calendar.DAY_OF_MONTH));

    toDt = new DatePickerDialog(this, new OnDateSetListener()
    {
        public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth)
        {
            Calendar newDate = Calendar.getInstance();
            newDate.set(year, monthOfYear, dayOfMonth);
            toDt_edt.setText(dateFormatter.format(newDate.getTime()));
        }

    },newCalendar.get(Calendar.YEAR), newCalendar.get(Calendar.MONTH), newCalendar.get(Calendar.DAY_OF_MONTH));
}

2 Answers2

1
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth)
        {
            year = year-(requird year); //year you want to restrict 
            monthOfYear = (requird month); // month of your restricted year
            dayOfMonth = (requird day); //day of restricted Month of that year

            Calendar newDate = Calendar.getInstance();
            newDate.set(year, monthOfYear, dayOfMonth);
            fromDt_edt.setText(dateFormatter.format(newDate.getTime()));
        }
0

Override onDateChanged method as below code where myear,mmonth,mday is the specific date.

@Override
public void onDateChanged(DatePicker view, int year,int monthOfYear, int dayOfMonth) {
                    c = Calendar.getInstance();
                    myear = c.get(Calendar.YEAR);
                    mmonth = c.get(Calendar.MONTH);
                    mday = c.get(Calendar.DAY_OF_MONTH);

                    if (year < myear)
                        view.updateDate(myear, mmonth, mday);

                    if (monthOfYear < mmonth && year == myear)
                        view.updateDate(myear, mmonth, mday);

                    if (dayOfMonth < mday && year == myear
                            && monthOfYear == mmonth)
                        view.updateDate(myear, mmonth, mday);
}
Dhrumil Shah - dhuma1981
  • 15,166
  • 6
  • 31
  • 39