I have two Datepickers dialogs for ToDate [start] and FromDate [end].
I set the datePicker max date to the current using the setMaxDate () function.
My problem is that when
1) I am changing the date of ToDatePicker, I will not become setMaxDate () FromDatePicker.
2) I am changing the date FromDatePicker I will not become setMinDate () from ToDatePicker.
In my code this work is the 1st time, but the next time I change one or one datepicker, it does not set setMaxDate (), the setMinDate () function
here is my code
dateFormatter = new SimpleDateFormat("dd-MM-yyyy", Locale.US); Calendar newCalendar = Calendar.getInstance(); //Setting first None value to updatedDate To and from Util.SaveToSharedPref(MgntNCActivity.this, Constant.ShaPreMgntNcFilter, Constant.ShaPreMgntNcFilterUpdatedToDate, Constant.NoValue); Util.SaveToSharedPref(MgntNCActivity.this, Constant.ShaPreMgntNcFilter, Constant.ShaPreMgntNcFilterUpdatedFromDate, Constant.NoValue); datePickerDiaFrom=new DatePickerDialog(MgntNCActivity.this, new DatePickerDialog.OnDateSetListener() { @Override public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { Calendar upDateFrom = Calendar.getInstance(); upDateFrom.set(year, monthOfYear, dayOfMonth); txtFromUpdatedDate.setText(dateFormatter.format(upDateFrom.getTime())); // System.out.println("Date 1 )GTM : "+upDateTo.getTime().toGMTString()); //setting minimum limit to date Picker 'To' if (dateFormatter.format(upDateFrom.getTime()).equals(dateFormatter.format(NetworkUtil.getTodayDate()))) { upDateFrom.set(Calendar.HOUR_OF_DAY, upDateFrom.getMinimum(Calendar.HOUR_OF_DAY)); upDateFrom.set(Calendar.MINUTE, upDateFrom.getMinimum(Calendar.MINUTE)); upDateFrom.set(Calendar.SECOND, upDateFrom.getMinimum(Calendar.SECOND)); upDateFrom.set(Calendar.MILLISECOND, upDateFrom.getMinimum(Calendar.MILLISECOND)); datePickerDiaTo.getDatePicker().setMinDate(upDateFrom.getTimeInMillis()); System.out.println("setting To DatePicker current date as minDate : " +dateFormatter.format(NetworkUtil.getTodayDate())); }else{ datePickerDiaTo.getDatePicker().setMinDate(upDateFrom.getTimeInMillis()); System.out.println("setting To DatePicker minDate : " +dateFormatter.format(upDateFrom.getTime())); } //datePickerDiaTo.getDatePicker().setMinDate(upDateFrom.getTimeInMillis()); Util.SaveToSharedPref(MgntNCActivity.this, Constant.ShaPreMgntNcFilter, Constant.ShaPreMgntNcFilterUpdatedFromDate, dateFormatter.format(upDateFrom.getTime())); } }, newCalendar.get(Calendar.YEAR), newCalendar.get(Calendar.MONTH), newCalendar.get(Calendar.DAY_OF_MONTH)); datePickerDiaTo=new DatePickerDialog(MgntNCActivity.this, new DatePickerDialog.OnDateSetListener() { @Override public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { Calendar upDateTo = Calendar.getInstance(); upDateTo.set(year, monthOfYear, dayOfMonth); txtToUpdatedDate.setText(dateFormatter.format(upDateTo.getTime())); // System.out.println("Date 1 )GTM : "+upDateTo.getTime().toGMTString()); //setting maximum limit to date Picker 'From' if (dateFormatter.format(upDateTo.getTime()).equals(dateFormatter.format(NetworkUtil.getTodayDate()))) { upDateTo.set(Calendar.HOUR_OF_DAY, upDateTo.getMaximum(Calendar.HOUR_OF_DAY)); upDateTo.set(Calendar.MINUTE, upDateTo.getMaximum(Calendar.MINUTE)); upDateTo.set(Calendar.SECOND, upDateTo.getMaximum(Calendar.SECOND)); upDateTo.set(Calendar.MILLISECOND, upDateTo.getMaximum(Calendar.MILLISECOND)); datePickerDiaFrom.getDatePicker().setMaxDate(upDateTo.getTimeInMillis()); System.out.println("setting From DatePicker current date as maxDate : " +dateFormatter.format(NetworkUtil.getTodayDate())); }else{ datePickerDiaFrom.getDatePicker().setMaxDate(upDateTo.getTimeInMillis()); System.out.println("setting From DatePicker maxDate : " +dateFormatter.format(upDateTo.getTime())); } //datePickerDiaFrom.getDatePicker().setMaxDate(upDateTo.getTimeInMillis()); Util.SaveToSharedPref(MgntNCActivity.this, Constant.ShaPreMgntNcFilter, Constant.ShaPreMgntNcFilterUpdatedToDate, dateFormatter.format(upDateTo.getTime())); } }, newCalendar.get(Calendar.YEAR), newCalendar.get(Calendar.MONTH), newCalendar.get(Calendar.DAY_OF_MONTH)); //setting max limit to date Picker datePickerDiaTo.getDatePicker().setMaxDate(NetworkUtil.getTodayDate().getTime()); datePickerDiaFrom.getDatePicker().setMaxDate(NetworkUtil.getTodayDate().getTime());
Anyone please suggest me a solution to this ... Thanks ...