用户在Kotlin中单击后退按钮时如何显示自定义对话框

时间:2018-12-11 16:47:02

标签: android kotlin

当用户单击Kotlin中的“后退”按钮时,我想显示一个自定义对话框。

我尝试了这段代码,但是它不起作用,当我单击后退按钮时,自定义对话框显示,然后消失

override fun onBackPressed() {
    super.onBackPressed()

    onPause()
    creatAlertDialog()

}



fun creatAlertDialog() {


    var dialogs = Dialog(this@MainActivity)
    dialogs.requestWindowFeature(Window.FEATURE_NO_TITLE)
    dialogs.setCancelable(false)
    dialogs.setContentView(R.layout.back_press)

    dialogs.btn_yes.setOnClickListener {
        finish()
    }

    dialogs.btn_no.setOnClickListener {
        dialogs.dismiss()
    }

    dialogs.show()
}

1 个答案:

答案 0 :(得分:0)

从onBackPressed()回调中删除super.onBackPressed()。这样一来,您就可以避免父类调用其onBackPressed()方法,并且不会破坏您的活动。

override fun onBackPressed() {
    creatAlertDialog()
    // whatever you want here
}