Должен ли я переопределить AlertDialog? - PullRequest
0 голосов
/ 02 июля 2019

У меня есть функция, которая создает диалог

fun abs(){
val builder = AlertDialog.Builder(context)
//and so on
}

И я хочу использовать setOnCancelListener

builder.setCanceledOnTouchOutside(true)
builder.setOnCancelListener(DialogInterface.OnCancelListener {
someFunction(view)
})

Основная проблема заключается в том, что someFunction(view) необходимо использовать до отмены компоновщика / диалога. Как я могу этого достичь? Нужно ли переопределить какую-то функцию AlertDialog?

1 Ответ

0 голосов
/ 02 июля 2019

Попробуйте это

private fun showAlertDialog(){
    val dialog = AlertDialog.Builder(this)
        .setTitle("title")
        .setMessage("message")
        .setCancelable(false)
        .setPositiveButton("OK", null)
        .setNegativeButton("Cancel", null)
        .create()

    dialog.setOnShowListener(object: DialogInterface.OnShowListener{
        override fun onShow(p0: DialogInterface?) {
            dialog.getButton(AlertDialog.BUTTON_NEGATIVE).setOnClickListener{
                someFunction()
                dialog.dismiss()
            }
        }
    })
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...