物料日期选择器未显示

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

我在我的 andorid 项目片段中使用材料日期选择器。在特定单击时,我想向用户显示日期对话框,但单击时没有显示任何内容。

这是我的代码:

我希望用户选择两个日期范围,然后我得到这些日期

android date fragment android-datepicker
1个回答
0
投票

发生这种情况可能有多种原因。以下是一些需要检查的事项:

按钮单击侦听器:确保您已为触发日期选择器对话框的按钮正确设置单击侦听器。确保将 calendarView() 函数分配给按钮的 setOnClickListener() 方法。

这是一个示例 // 在您的片段类中

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {  super.onViewCreated(view, savedInstanceState)
       val button = view.findViewById<Button>(R.id.button_date_picker)    button.setOnClickListener {
       calendarView()    } }
       private fun calendarView() {    val materialDatePicker = MaterialDatePicker.Builder.dateRangePicker()
       .setTitleText("Select date")
       .setSelection(
           androidx.core.util.Pair(
               MaterialDatePicker.thisMonthInUtcMilliseconds(),
               MaterialDatePicker.todayInUtcMilliseconds()
           )
       )
       .setPositiveButtonText("Submit")
       .build()
       materialDatePicker.addOnPositiveButtonClickListener { pair ->
       val simpleDateFormat = SimpleDateFormat("EEEE, dd MMMM yyyy", Locale.getDefault())
       val startingDate = Date(pair.first)
       val startDate = simpleDateFormat.format(startingDate)
       val endingDate = Date(pair.second)
       val endDate = simpleDateFormat.format(endingDate)
   
       Toast.makeText(requireContext(), "Submitted", Toast.LENGTH_SHORT).show()
       Log.d("date---->>", "${startDate.toString()} ${endDate.toString()}")
       // dateTextView.text = "$f

ormattedStartDate 直到 $formattedEndDate" } materialDatePicker.show(requireFragmentManager(),materialDatePicker.toString()) }

确保您的片段布局 XML 文件包含 ID 为“button_date_picker”的按钮。如果所有这些步骤都正确并且问题仍然存在,您可能需要提供更多详细信息。

© www.soinside.com 2019 - 2024. All rights reserved.