如何在 TimePicker 上创建两个时间范围? JAVA

How to create two time ranges on TimePicker? JAVA

我在 Java 上创建了一个 TimePicker。我已经实现否决范围时间(12h 到 23.30h)。但是我想制作两个不同的可用时间范围,例如(12h 到 15h 和 19h 到 23h)。我创建了这个覆盖以实现创建一个可用时间范围:

public class SampleTimeVetoPolicy implements TimeVetoPolicy {


@Override
    public boolean isTimeAllowed(LocalTime time) {
        return PickerUtilities.isLocalTimeInRange(time,LocalTime.of(12,00),LocalTime.of(23,30),true);
    }
}

我不知道如何制作这两个不同的范围。

我使用实际覆盖执行的示例:

谢谢大家! (使用的lib是lgooddatepicker)

"simplest" 解决方案可能是做类似...

return PickerUtilities.isLocalTimeInRange(...) || PickerUtilities.isLocalTimeInRange(...);

一个更强大的解决方案是创建一个 TimeRange class(获取范围的开始和结束时间),它具有 contains 样式方法并构建一个 List 并简单地遍历列表,直到你完成循环或一个 returns false