我试图在用户按下后退按钮或暂停活动之前显示确认警报对话框。
我试过这个密码:
@Override
public void onBackPressed() {
super.onBackPressed();
AlertDialog.Builder confirmBuilder=new AlertDialog.Builder(DoExam.this);
confirmBuilder.setTitle("Confirm Exit");
confirmBuilder.setMessage("are you sure to exit form this activity");
confirmBuilder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
confirmBuilder.setNegativeButton("No", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
AlertDialog confirmDialog=confirmBuilder.create();
confirmDialog.show();
}
但它立即消失的同时,应用程序回到以前的活动。
我也试着把代码放在onpause方法中,但是我遇到了同样的问题。
如果单击“是”,则显示警报对话框并返回到上一个活动,如果单击“否”,则将用户保留在活动中,有何帮助?
最佳答案
因为您正在调用super.onBackPressed();
删除它并查看发生了什么。super.onBackPressed();
用于触发关闭活动的默认操作。当用户取消对话框时,您需要推迟该调用。