如何为WeekDatePicker禁用CURRENT DATE和PREVIOUS DATE'S

问题描述 投票:1回答:1

任何人都知道如何在Android中为CURRENT DATE禁用PREVIOUS DATE'SWeekDatePicker

在普通的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);
    }
});

但是如何禁用CURRENT DATE中的PREVIOUS DATE'S"WeekDatePicker"

java android datepicker android-calendar
1个回答
1
投票

看起来你正在使用WeekDatePicker

根据文档,calendarView.setLimits()有一个FromTo作为参数,所以你可以尝试将to取消并将from设置为当前日期:

datePicker.setLimits(LocalDate.now(), null);

然而,运行它似乎将当前日期保留为选中状态,当我为此添加一天时,它将具有前一天的当前日期指示符。我用以下代码解决了这个问题,这似乎有点hacky但似乎也有效:

datePicker.setDateIndicator(LocalDate.now().plusDays(1), true);
datePicker.setLimits(LocalDate.now().plusDays(1), null);
datePicker.selectDay(LocalDate.now().plusDays(1));

测试它看起来它具有所需的效果:

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.