【发布时间】:2013-10-27 09:35:19
【问题描述】:
我处于一种特殊情况,我必须根据Spinner 的选定元素更改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 time api。
【问题讨论】:
-
您没有在第二个 setMinDate 上使用 toDateTimeAtStartOfDay() 的任何具体原因?
-
@Voidpaw 无,编辑问题时出错。我现在正在使用自定义方法。只是想为了简单起见我会跳过那部分。已更正。
标签: android date time android-ui