【问题标题】:Date Picker Dialog not showing in Fragment片段中未显示日期选择器对话框
【发布时间】:2020-03-18 09:28:42
【问题描述】:

片段中未显示日期选择器对话框

  1. 如果单击编辑文本,我想显示日期选择器对话框
  2. 显示从选择日期到编辑文本的日期
 class VerifikasiInfoPribadiFragment : BaseFragment() {
        override fun getLayoutResId(): Int = R.layout.fragment_verifikasi_info_pribadi

        override fun onActivityCreated(savedInstanceState: Bundle?) {
            super.onActivityCreated(savedInstanceState)
            edtTanggalLahir.setOnClickListener {
                showDatePicker()
            }
        }

        private fun showDatePicker() {
            val calendar = Calendar.getInstance()
            val year = calendar.get(Calendar.YEAR)
            val month = calendar.get(Calendar.MONTH)
            val dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH)

            val datePicker = DatePickerDialog(
                requireActivity(),
                DatePickerDialog.OnDateSetListener { view, year, month, dayOfMonth ->
                    edtTempatLahir.setText("" + dayOfMonth + "/" + month + "/" + year)
                },
                year,
                month,
                dayOfMonth
            )
            datePicker.show()
        }
    }

我在 Activity 中尝试过看起来不错

【问题讨论】:

    标签: android android-fragments android-edittext android-datepicker


    【解决方案1】:

    可能是因为您在 onActivityCreated() 中调用了 showDatePicker() 根据生命周期,虽然活动现在已经创建,但片段可能还没有创建,所以尝试调用 onViewCreated() 中的方法 或 onCreateView()

    【讨论】:

    • 是的,您应该从片段 onViewCreated 函数中调用 showDatePicker() fun。同样在您的 EditText 上设置属性 android:focusable="false" 和 android:enabled="true"。并将 OnClickListener 设置为该 EditText。单击该 Edittext 会触发 onClick() 方法,但无法对其进行编辑。我刚试过。
    • 我尝试过 onViewCreate、onCreateView、onResume。但是,不起作用(editText),我在Button中尝试过。但是,不起作用(按钮)@DashrathRathod
    • @AfdalDev 你能分享完整的代码吗,因为我已经尝试过使用问题中的代码,这对我来说效果很好。您的代码没有问题,唯一不同的是我在 onViewCreated() 中膨胀了您的代码中缺少的布局
    • 对不起,我错误的调用片段布局。它现在的工作。谢谢
    • @AfdalDev 快乐编码 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多