如何禁用 Week DatePicker 的当前日期和先前日期
How to disable CURRENT DATE and PREVIOUS DATE'S for WeekDatePicker
有人知道如何在 Android 中为 WeekDatePicker
禁用 CURRENT DATE
和 PREVIOUS DATE'S
吗?
在普通的DatePicker中我们可以使用这个,
calendarView.newState().setMinimumDate(calendar.getTime()).commit();
calendarView.setLimits();
calendarView.addDecorator(new DayViewDecorator() {
@Override
public boolean shouldDecorate(CalendarDay calendarDay)
{
return false;
}
@Override
public void decorate(DayViewFacade view) {
view.setDaysDisabled(true);
}
});
但是如何在"WeekDatePicker"
中禁用CURRENT DATE
和PREVIOUS DATE'S
?
您似乎在使用 WeekDatePicker
根据文档,calendarView.setLimits()
有一个 From
和 To
作为参数,因此您可以尝试将 to 置空并将 from 设置为当前日期:
datePicker.setLimits(LocalDate.now(), null);
但是,运行 它似乎将当前日期保留为选中状态,当我向其添加一天时,它的当前日期指示符将与前一天相同。我用下面的代码解决了这个问题,它看起来有点老套,但似乎也能工作:
datePicker.setDateIndicator(LocalDate.now().plusDays(1), true);
datePicker.setLimits(LocalDate.now().plusDays(1), null);
datePicker.selectDay(LocalDate.now().plusDays(1));
正在测试它,看起来它具有预期的效果:
有人知道如何在 Android 中为 WeekDatePicker
禁用 CURRENT DATE
和 PREVIOUS DATE'S
吗?
在普通的DatePicker中我们可以使用这个,
calendarView.newState().setMinimumDate(calendar.getTime()).commit();
calendarView.setLimits();
calendarView.addDecorator(new DayViewDecorator() {
@Override
public boolean shouldDecorate(CalendarDay calendarDay)
{
return false;
}
@Override
public void decorate(DayViewFacade view) {
view.setDaysDisabled(true);
}
});
但是如何在"WeekDatePicker"
中禁用CURRENT DATE
和PREVIOUS DATE'S
?
您似乎在使用 WeekDatePicker
根据文档,calendarView.setLimits()
有一个 From
和 To
作为参数,因此您可以尝试将 to 置空并将 from 设置为当前日期:
datePicker.setLimits(LocalDate.now(), null);
但是,运行 它似乎将当前日期保留为选中状态,当我向其添加一天时,它的当前日期指示符将与前一天相同。我用下面的代码解决了这个问题,它看起来有点老套,但似乎也能工作:
datePicker.setDateIndicator(LocalDate.now().plusDays(1), true);
datePicker.setLimits(LocalDate.now().plusDays(1), null);
datePicker.selectDay(LocalDate.now().plusDays(1));
正在测试它,看起来它具有预期的效果: