Я в конкретной ситуации, когда мне нужно изменить минимальную и максимальную дату DatePicker
в соответствии с выбранным элементом Spinner
. Вот кусок кода, который я использую для переключения минимальной и максимальной даты.setMinDate (...) для DatePicker не работает при вызове во второй раз
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
бы получить настроить правильно в первый раз, проблема возникает при попытке изменить дату мин снова (изменение макс даты работы). Он остался бы на том значении, которое я поставил первым. Я думаю, что это ошибка. Я здесь что-то не так? Есть ли обходной путь для этого ?.
PS: Я использую время авизо Joda.
Любые конкретные причины, по которым вы не использовали toDateTimeAtStartOfDay() на вашем втором setMinDate? – Voidpaw
@ Voidpaw Нет, это была ошибка при редактировании вопроса. Теперь я использую собственный метод. Просто подумал, что я пропустил эту часть для простоты. Исправленный. –