【问题标题】:How to create two time ranges on TimePicker? JAVA如何在 TimePicker 上创建两个时间范围? JAVA
【发布时间】:2018-04-13 07:49:25
【问题描述】:

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

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)

【问题讨论】:

  • return PickerUtilities.isLocalTimeInRange(...) || PickerUtilities.isLocalTimeInRange(...);?你甚至可以创建一个List 的范围来让生活更轻松
  • 谢谢!它与 || 一起使用陈述。我以为我不能用||在返回线上。再次感谢!
  • @AndresLuengoBlazquez 如果您认为返回语句中的|| 太难阅读,您可以编写一个if 语句和两个或三个或更多return 语句。在经验丰富的程序员中,return 语句中的 ||&& 很常见(恕我直言,有时也被过度使用)。

标签: java time timepicker localtime


【解决方案1】:

“最简单”的解决方案可能是做类似...

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

更强大的解决方案是创建一个 TimeRange 类(获取范围的开始和结束时间),该类具有 contains 样式方法并构建它们的 List 并简单地循环列表直到要么完成循环,要么返回false

【讨论】:

    猜你喜欢
    • 2013-10-07
    • 1970-01-01
    • 2020-11-26
    • 1970-01-01
    • 1970-01-01
    • 2019-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多