【问题标题】:How to close MaterialDatePicker after selecting date选择日期后如何关闭 MaterialDatePicker
【发布时间】:2021-09-10 07:12:58
【问题描述】:

我想在选择日期范围后关闭 MaterialDatePicker,但必须点击“保存”按钮。选择开始和结束日期后如何自动关闭对话框?

val datePicker = createDatePicker()
datePicker.show(parentFragmentManager, DATE_PICKER_DIALOG_TAG)

private fun createDatePicker(): MaterialDatePicker<Pair<Long, Long>> {
    val constraintsBuilder = createCalendarConstraints()
    val datePicker = MaterialDatePicker.Builder.dateRangePicker()
        .setTitleText(getString(R.string.select_check_in_and_check_out_date))
        .setCalendarConstraints(constraintsBuilder.build())
        .build()
    datePicker.addOnPositiveButtonClickListener {
        binding.selectDate.setText(datePicker.headerText.toString())
    }
    return datePicker
}

private fun createCalendarConstraints(): CalendarConstraints.Builder {
    val dateValidator: DateValidator = DateValidatorPointForward.now()
    return CalendarConstraints.Builder()
        .setValidator(dateValidator)
}

【问题讨论】:

  • 你能完成这个任务吗?

标签: android kotlin datepicker material-design materialdatepicker


【解决方案1】:

你只需要在 onPositive 回调中添加datePicker.dismiss()

【讨论】:

  • 请再次阅读问题。选择日期范围后,我需要关闭对话框。点击“保存”按钮后会调用 onPositive 回调。
猜你喜欢
  • 1970-01-01
  • 2021-12-07
  • 2019-09-28
  • 1970-01-01
  • 2021-05-05
  • 1970-01-01
  • 2018-07-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多