如何防止日期范围选择器选择相同的日期

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

我正在使用材料日期范围选择器,我想防止选择范围内的相同日期,例如,当开始日期为 2022 年 9 月 11 日时,当用户尝试选择开始日期时,结束日期不应与 2022 年 9 月 11 日相同第二次我想重置选择。有可能实现这种行为吗?我阅读了文档,但没有什么对我有帮助。

private fun showDateRangePicker() {
        val calendarConstraints = CalendarConstraints.Builder()
        calendarConstraints.setValidator(DateValidatorPointBackward.now())

val dateRangePicker = MaterialDatePicker.Builder.dateRangePicker()
            .setTitleText(getString(R.string.date_picker_title))
            .setTheme(R.style.MaterialCalendarTheme_RangeFill)
            .setCalendarConstraints(calendarConstraints.build())
            .setSelection(setSelection)
            .build()

        dateRangePicker.show(
            parentFragmentManager,
            "Tag"
        )
android kotlin datepicker material-design
1个回答
0
投票

您可以尝试使用以下方法,但要小心,因为它是 Restricted API ("@RestrictTo({Scope.LIBRARY_GROUP})")

     val picker = MaterialDatePicker.Builder
        .customDatePicker<Pair<Long?, Long?>>(
            object : RangeDateSelector() {
                override fun select(selection: Long) {
                    if (selection == getSelection().first) return
                    super.select(selection)
                }
            }).build()
© www.soinside.com 2019 - 2024. All rights reserved.