I'm using Material Date Range picker and I want to prevent selecting same dates in range for e.g when start date is 11-09-2022 end date shouldn't be same 11-09-2022 when user tries to select start date for the second time I want to reset selection. is it possible to achieve such behaviour ? I read documentation but nothing was helpful for me.
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"
)
You can try to use the following approach, but be careful, because it is 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()