从 Android 项目中删除 Kotlin 扩展后自定义对话框出现问题

Issue with custom dialog after removing Kotlin extension from the Android project

我的 android 项目中有一个自定义对话框,它工作正常。从项目中删除 kotlin extension 后,我按如下方式修改了代码,但自定义对话框中的视图存在一些问题。代码 etTitle.visibility = View.GONEval newRequest = etDetail.text.toString() 没有像我预期的那样工作。它没有隐藏视图 etTitle 并且 EditText etDetail 中的值也没有被选中,它总是 returns emplty 即使有一些值。

private lateinit var bindingDialogLayout: CustomDialogBinding

fun specialRequestDialog(currentRequest: String?) {

        bindingDialogLayout = CustomDialogBinding.inflate(layoutInflater)

        val dialogLayout = layoutInflater.inflate(R.layout.custom_dialog, null)
        val etTitle = bindingDialogLayout.etTitle
        val etDetail = bindingDialogLayout.etDetails

        etTitle.visibility = View.GONE

        etDetail.setText(currentRequest)

        MaterialAlertDialogBuilder(this)
            .setTitle("What is your special request?")
            .setCancelable(false)

            .setPositiveButton("Save") { dialog, which ->

                val newRequest = etDetail.text.toString()

                if (newRequest.isEmpty()) {
                    showErrorSnackBar("Type in if you have any special request, else hit cancel", true)
                } else {

                    addButton.visibility = View.GONE
                    deleteButton.visibility = View.VISIBLE

                }
            }

            .setNegativeButton("Cancel") { dialog, which ->

                dialog?.dismiss()

            }
            .setView(dialogLayout)
            .show()
    }

您为对话框设置了错误的视图。 改用这个:

.setView(bindingDialogLayout.root)