Sono in una situazione particolare in cui devo modificare la data minima e massima di DatePicker
in base all'elemento selezionato di Spinner
. Ecco il pezzo di codice che sto usando per cambiare la data minima e massima.setMinDate (...) per DatePicker non funziona se richiamato una seconda volta
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);
}
Così, il DatePicker
otterrebbe impostato correttamente la prima volta, problema si verifica quando si tenta di cambiare di nuovo la data min (cambiando la data di opere max). Rimarrebbe al valore che avevo impostato per primo. Sto pensando che questo sia un bug. Sto facendo qualcosa di sbagliato qui? C'è una soluzione per questo ?.
PS: sto utilizzando l'API tempo Joda.
Qualsiasi motivo specifico non utilizzato da DateTimeAtStartOfDay() sul secondo setMinDate? – Voidpaw
@Voidpaw Nessuno, è stato un errore durante la modifica della domanda. Sto usando un metodo personalizzato per questo ora. Ho pensato di saltare quella parte per semplicità. Corretto. –