解决Android材料日期范围选择器问题的一种解决方法是使用MaterialDatePicker库。以下是一个包含代码示例的解决方案:
implementation 'com.google.android.material:material:1.4.0'
private lateinit var startDatePicker: MaterialDatePicker
private lateinit var endDatePicker: MaterialDatePicker
private fun showDatePicker() {
val builder = MaterialDatePicker.Builder.dateRangePicker()
startDatePicker = builder.build()
endDatePicker = builder.build()
startDatePicker.addOnPositiveButtonClickListener { selection ->
// 处理选定的开始日期
val startDate = Date(selection.first!!)
val endDate = Date(selection.second!!)
// 执行其他逻辑
}
endDatePicker.addOnPositiveButtonClickListener { selection ->
// 处理选定的结束日期
val startDate = Date(selection.first!!)
val endDate = Date(selection.second!!)
// 执行其他逻辑
}
startDatePicker.show(supportFragmentManager, "start_date_picker")
endDatePicker.show(supportFragmentManager, "end_date_picker")
}
button.setOnClickListener {
showDatePicker()
}
这样,用户将能够使用MaterialDatePicker库选择日期范围,并且您可以在addOnPositiveButtonClickListener的回调中处理选定的日期范围。