当我单击系统后退按钮时,我的警报对话框关闭,我不想关闭警报,我的代码在这里:-
fun shoWResultPopUp() {
if (!isFinishing()) {
val mBuilder = AlertDialog.Builder(this@ExamActivity)
val mView = layoutInflater.inflate(R.layout.show_result_popup, null)
val mResult = mView.findViewById(R.id.resultBtn) as Button
mBuilder.setView(mView)
val dialog = mBuilder.create()
dialog.setCanceledOnTouchOutside(false);
dialog.show()
mResult.setOnClickListener {
val intent = Intent(this, ResultActivity::class.java)
startActivity(intent)
}
}
}
override fun onBackPressed() {
return
}
答案 0 :(得分:1)
您需要设置:
dialog.setCancelable(false)
根据该方法的Android文档:
设置此对话框是否可以使用 {@link KeyEvent#KEYCODE_BACK BACK}键。
这正是您想要的情况。
注意:
dialog.setCanceledOnTouchOutside用于防止/允许在弹出窗口(而不是后退按钮)外部触摸时弹出弹出窗口。文件:
设置当在窗口的外部触摸时是否取消此对话框 界限。如果设置为true,则对话框设置为可取消 已经设置。
答案 1 :(得分:0)
您可以检查此链接 CollectionChanged
dialog.setOnCancelListener(new DialogInterface.OnCancelListener()
{
@Override
public void onCancel(DialogInterface dialog)
{
MyActivity.this.finish();
}
});