Я в конкретной ситуации, в которой мне нужно изменить минимальную и максимальную дату DatePicker
в соответствии с выбранным элементом Spinner
. Здесь кусок кода, который я использую, чтобы переключать минуты и максимальную дату.
private void switchCalculationMethod(int method) {
calculationMethod = method;
switch (method) {
case METHOD_1:
datePicker.setMinDate(new LocalDate().minusWeeks(42).getMillis());
datePicker.setMaxDate(new LocalDate().plusDays(1).getMillis() - 1);
break;
case METHOD_2:
datePicker.setMinDate(new LocalDate().minusWeeks(2).getMillis()); // This don't work!!
datePicker.setMaxDate(new LocalDate().plusWeeks(40).getMillis()); // This works!!!
break;
}
datePicker.init(today.getYear(), today.getMonthOfYear() - 1,
today.getDayOfMonth(), this);
}
Таким образом, DatePicker
будет правильно настроен в первый раз, проблема возникает, когда я пытаюсь изменить дату min снова (изменение максимальной даты работает). Он остался бы на том значении, которое я поставил первым. Я думаю, что это ошибка. Я здесь что-то не так? Есть ли обходной путь для этого?
PS: Я использую время Джоды.