我處於特定情況,必須根據所選元素Spinner
更改最小和最大日期DatePicker
。以下是我用來切換最小和最大日期的代碼塊。DatePicker的setMinDate(...)在第二次調用時不起作用
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:我正在使用喬達時間API。
任何具體的原因你沒有在你的第二個setMinDate使用toDateTimeAtStartOfDay()? – Voidpaw
@Voidpaw無,編輯問題時出錯。我現在正在使用自定義方法。只是覺得我會爲了簡單而跳過那部分。糾正。 –