尝试读取editText内容时,AlertDialog(Material)崩溃。
AlertDialog:
MaterialAlertDialogBuilder(activity)
.setTitle(title)
.setMessage(message)
.setView(R.layout.dialog_settings_entry)
.setPositiveButton(getString(R.string.text_change)) { dialog, which ->
etUserInput.hint = message
sgr = etUserInput.text.toString() // << crashes here
dialog.dismiss()
}
.setNegativeButton(getString(android.R.string.cancel)) { dialog, _ ->
dialog.dismiss()
}
.show()
单击“肯定”按钮,结果如下:
java.lang.IllegalStateException: etUserInput must not be null
at com.home.profile.SettingsFragment$buildAlertDialog$1.onClick(SettingsFragment.kt:332)
at androidx.appcompat.app.AlertController$ButtonHandler.handleMessage(AlertController.java:167)
etUserInput是一个单独布局的简单editText。不确定崩溃原因。将感谢任何深入了解它或任何有用的材料样本。
2条答案
按热度按时间3duebb1j1#
将
DialogInterface
转换为AlertDialog
,然后使用findViewById
。Kotlin:
--
Java:
--
qlckcl4x2#
为我工作