Reputation: 2485
I have a datepicker code which sets current date to datepicker dialog
how can i set this date to yesterdays date, specially during ,month end will it keep yesterdays date and previous month, for example if on 1st feb we check it should display 31st jan and from on 2nd feb should show 1st feb and so on.
final Calendar c = Calendar.getInstance();
maxyear = c.get(Calendar.YEAR);
maxmonth = c.get(Calendar.MONTH);
maxday = c.get(Calendar.DAY_OF_MONTH);
protected Dialog onCreateDialog(int id) {
switch (id) {
case DATE_DIALOG_ID:
// set date picker as current date
DatePickerDialog _date = new DatePickerDialog(this, datePickerListener, maxyear,maxmonth,
maxday){
@Override
public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth)
{
if (year < 2014)
view.updateDate(2014, mmonth, mday);
if (monthOfYear < 12 && year == 2014)
view.updateDate(2014, 12, mday);
if (dayOfMonth < 31 && year == 2014 && monthOfYear == 12)
view.updateDate(2014, 12, 31);
if (year > maxyear)
view.updateDate(maxyear, maxmonth, maxday);
if (monthOfYear > maxmonth && year == maxyear)
view.updateDate(maxyear, maxmonth, maxday);
if (dayOfMonth > maxday && year == maxyear && monthOfYear == maxmonth)
view.updateDate(maxyear, maxmonth, maxday);
}
};
return _date;
}
return null;
}
Upvotes: 2
Views: 1949
Reputation: 11244
Update Date using update
mDatePicker.setTitle("Please select date");
mDatePicker.updateDate(1994, 6, 12);
// TODO Hide Future Date Here
mDatePicker.getDatePicker().setMaxDate(System.currentTimeMillis());
Upvotes: 1
Reputation: 1107
Have you tried this?
Calendar now = Calendar.getInstance();
now.add(Calendar.DATE, -1);
int year = now.get(Calendar.YEAR);
int month = now.get(Calendar.MONTH); // it's zero based
int day = now.get(Calendar.DAY_OF_MONTH);
DatePicker datePicker.updateDate(year, month, day);
Upvotes: 2