当用户单击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()
}
答案 0 :(得分:0)
从onBackPressed()回调中删除super.onBackPressed()。这样一来,您就可以避免父类调用其onBackPressed()方法,并且不会破坏您的活动。
override fun onBackPressed() {
creatAlertDialog()
// whatever you want here
}