gpt4 book ai didi

java - 使用 MaterialDateTimePicker 选择时间 block

转载 作者:行者123 更新时间:2023-12-02 11:42:46 24 4
gpt4 key购买 nike

我想显示一个时钟,其中只能选择选定的时间 block 。例如:我希望时钟只允许我选择从 09:00 到 10:00 或从 12:00 到 12:30 或从 14:00 到 18:00 的时间。这些范围之外的所有时间都不应是我可选择的。

使用MaterialDateTimePicker我能够设置一系列选定的时间:

val time = TimePickerDialog.newInstance(timeSet, true)
time.setSelectableTimes(arrayOf(Timepoint(10), Timepoint(11)))

但这只能让我选择 10:00 和 11:00 的时间,而不能选择它们之间的间隔。

是否可以像我用这个库解释的那样进行行为?

最佳答案

所以我决定创建一个新方法来创建 TimePoints 数组:

private fun getTimes(array: JSONArray): Array<Timepoint> {
val times = arrayListOf<Timepoint>()
for (i in 0..array.length().minus(1)) {
val format = SimpleDateFormat("HH:mm", Locale.getDefault())

val start = Calendar.getInstance()
start.time = format.parse(array.getJSONObject(i).getString("start"))

val end = Calendar.getInstance()
end.time = format.parse(array.getJSONObject(i).getString("end"))

while (!start.after(end)) {
times.add(Timepoint(start.get(Calendar.HOUR_OF_DAY), start.get(Calendar.MINUTE)))
start.add(Calendar.MINUTE, 1)
}
}

return times.toArray(arrayOfNulls<Timepoint>(times.size))
}

我会这样称呼他:

time.setSelectableTimes(getTimes(array))

说明:

使用方法:

time.setSelectableTimes(arrayOf(Timepoint(10), Timepoint(11)))

我只能分别选择 10:00h 和 11:00h 的时间,因此解决方案是找到 10:00h 到 11:00h 之间的所有时间并将它们添加到数组中。只有这样我才能使用这个新数组调用上面的方法。

关于java - 使用 MaterialDateTimePicker 选择时间 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48428022/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com