Volver a mostrar el dialog después de la denuncia

¿Cómo volver a mostrar el mismo dialog después de cada despedida? Mi código (en 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.getDefaultShanetworkingPreferences(applicationContext).edit().putInt("phoneNumber", editText.text.toString().toInt()).commit() } }) show() } 

Las respuestas también podrían estar en Java.

    Prueba con esto:

     AlertDialog.Builder(this).apply { setMessage(getString(R.string.alert_dialog_main_activity)) setView(editText) setOnDismissListener { if(/*TODO validate phone number*/) (it as AlertDialog).show() } setPositiveButton("Done", { dialogInterface, i -> toast(editText.text.toString()) PreferenceManager.getDefaultShanetworkingPreferences(applicationContext).edit().putInt("phoneNumber", editText.text.toString().toInt()).commit() }) show() } 

    La manera más fácil sería, probablemente, recuperar la function que muestra el cuadro de dialog, como esta:

      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.getDefaultShanetworkingPreferences(applicationContext).edit().putInt("phoneNumber", editText.text.toString().toInt()).commit() } }) show() } }