【问题标题】:How to disable CURRENT DATE and PREVIOUS DATE'S for WeekDatePicker如何禁用周 DatePicker 的当前日期和以前的日期
【发布时间】:2017-12-21 13:09:41
【问题描述】:

有人知道如何在 Android 中为WeekDatePicker 禁用CURRENT DATEPREVIOUS 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 DATEPREVIOUS DATE'S

【问题讨论】:

  • Android SDK 中没有名为WeekDatePickerDayViewFacadeDayViewDecoratorCalendarDay 的内容。如果这些来自某个图书馆,请确定图书馆并考虑使用图书馆作者提供的任何支持选项。

标签: java android datepicker android-calendar


【解决方案1】:

您似乎在使用WeekDatePicker

根据文档,calendarView.setLimits() 有一个 FromTo 作为参数,因此您可以尝试将 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));

测试一下,它看起来有预期的效果:

【讨论】:

  • 谢谢你,我会试试这个并回复你。
  • @SathishKumar 看起来我把它弄到了前面。我已经编辑了我的答案以反映这一点。
  • 超级...工作完美...非常感谢。
猜你喜欢
  • 2014-04-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-24
  • 1970-01-01
  • 2021-02-28
  • 2021-03-06
  • 1970-01-01
相关资源
最近更新 更多