1

I want to hide past dates in DatePickerDialog in Fragment. For this am using:

 datePickerDialog.getDatePicker().setMinDate(System.currentTimeMillis() - 1000);      

but its showing me error ...cannot resolve this method "getDatePicker" in Fragment

Any idea ??? THnx in advance

  public  void showDatePicker() {
            datePickerDialog = DatePickerDialog.newInstance(
                    this,
                    dateTime.get(Calendar.YEAR),
                    dateTime.get(Calendar.MONTH),
                    dateTime.get(Calendar.DAY_OF_MONTH));
            datePickerDialog.setYearRange(dateTime.get(Calendar.YEAR), dateTime.get(Calendar.YEAR) + 1);
            datePickerDialog.setCancelable(true);
            datePickerDialog.getDatePicker().setMinDate(System.currentTimeMillis() - 1000);
            datePickerDialog.show(getChildFragmentManager(), TAG + "datePickerDialog");
        }

2 Answers2

1

See if this works

 public  void showDatePicker() {
        datePickerDialog = DatePickerDialog.newInstance(
                this,
                dateTime.get(Calendar.YEAR),
                dateTime.get(Calendar.MONTH),
                dateTime.get(Calendar.DAY_OF_MONTH));
        datePickerDialog.setYearRange(dateTime.get(Calendar.YEAR), dateTime.get(Calendar.YEAR) + 1);
        datePickerDialog.setCancelable(true);
        Field mDatePickerField = datePickerDialog .getClass().getDeclaredField("mDatePicker");
        mDatePickerField.setAccessible(true);
        DatePicker mDatePicker = (DatePicker) mDatePickerField.get(datePickerDialog);
        mDatePicker.setMinDate(System.currentTimeMillis() - 1000);
        datePickerDialog.show(getChildFragmentManager(), TAG + "datePickerDialog");
    }
Bidhan
  • 10,607
  • 3
  • 39
  • 50
0

try this ,

    Calendar calendar=Calendar.getInstance();           
    DatePickerDialog dialog=new DatePickerDialog(this, new OnDateSetListener() {                        

                    @Override
                    public void onDateSet(DatePicker view, int year, int monthOfYear,
                            int dayOfMonth) {

                        //your code
                    }
                }, calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH)); 

    dialog.getDatePicker().setMinDate(calendar.getTimeInMillis());
    dialog.show();
ravi
  • 319
  • 3
  • 15