Как обновить minDate и maxDate для Datepicker Android
У меня есть действие, содержащее 2 DatePickers (From и To) и кнопку под названием "Специальный запрос". Первое, что я делаю в своей деятельности, это устанавливаю minDate и maxDate обоих DatePickers. Затем, нажав на кнопку, я хочу обновить эти minDate и maxDate до сегодняшней даты + один день.
Вот метод setDate (), который я вызываю первым:
public void setDate() {
final Calendar c = Calendar.getInstance();
year = c.get(Calendar.YEAR);
month = c.get(Calendar.MONTH);
day = c.get(Calendar.DAY_OF_MONTH);
beginDate.init(year, month, day, null);
endDate.init(year, month, day, null);
long minTime = System.currentTimeMillis() - 1000; // -1 second
beginDate.setMinDate(minTime + 1209600000L); // +14 days
beginDate.setMaxDate(minTime + 31556952000L); // +1 year
endDate.setMinDate(minTime + 1209600000L);
endDate.setMaxDate(minTime + 31556952000L);
}
и setSpecialDate (), который очень похож:
public void setSpecialDate() {
long minTime = System.currentTimeMillis() - 1000; // -1 second
beginDate.setMinDate(minTime + 86400000L); // +1 day
beginDate.setMaxDate(minTime + 31556952000L); // +1 year
endDate.setMinDate(minTime + 86400000L);
endDate.setMaxDate(minTime + 31556952000L);
final Calendar c = Calendar.getInstance();
year = c.get(Calendar.YEAR);
month = c.get(Calendar.MONTH);
day = c.get(Calendar.DAY_OF_MONTH);
beginDate.updateDate(year, month, day);
endDate.updateDate(year, month, day);
}
и мой слушатель, который вызывается после setDate () (вызов его раньше ничего не меняет):
public void addRequestListener() {
specialRequest = (Button) findViewById(R.id.specialRequest);
specialRequest.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
setSpecialDate();
}
});
}
Проблема в том, что setMinDate () и setMaxDate () в setSpecialDate () не работают, так как DatePickers не отображают даты ниже тех, которые установлены в первую очередь...