java - 关闭后重新显示对话框

标签 java android dialog kotlin listener

如何在每次关闭后重新显示相同的对话框? 我的代码(Kotlin):

val alertDialog = AlertDialog.Builder(this)
alertDialog.setMessage(getString(R.string.alert_dialog_main_activity))
val editText = EditText(this)
editText.inputType = InputType.TYPE_CLASS_PHONE
alertDialog.run {
    setView(editText)
    setOnDismissListener { TODO( "Re-show dialog" }
    setPositiveButton("Done", { dialogInterface, i ->
        run {
            toast(editText.text.toString())
            PreferenceManager.getDefaultSharedPreferences(applicationContext).edit().putInt("phoneNumber", editText.text.toString().toInt()).commit()
            }
        })
    show()
}

答案也可以用 Java 编写。

最佳答案

最简单的方法可能是调用显示对话框的函数,如下所示:

    fun showDialog() {
        val alertDialog = AlertDialog.Builder(this)
        alertDialog.setMessage(getString(R.string.alert_dialog_main_activity))
        val editText = EditText(this)
        editText.inputType = InputType.TYPE_CLASS_PHONE
        alertDialog.run {
            setView(editText)
            setOnDismissListener {
                 showDialog() // recall the function
            }
            setPositiveButton("Done", { dialogInterface, i -> {
                    toast(editText.text.toString())
                    PreferenceManager.getDefaultSharedPreferences(applicationContext).edit().putInt("phoneNumber", editText.text.toString().toInt()).commit()
                    }
                })
            show()
        }
    }

关于java - 关闭后重新显示对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45910200/

相关文章:

.net - 如何在WPF中制作模式对话框?

java - 在 Java 中创建 pdf、svg 和高分辨率 img - 开罗?其他解决方案?

android - 如何在 OpenCV for Android 中读取 AVI 文件

java - MVC 和图形组件

Android fragment WebView

android - 使用 ArrayAdapter<List<item>> 时 ListView 显示为空白

android - 如何使用自己的样式删除 DialogFragment 下的第二个背景

c++ - 如何从 QDialog 传递数据?

java - 自定义查询方法返回 Object[] 而不是实体列表

java - Android - View 没有 ID - 为什么?