对话框:解雇时确认

Dialog: confirmation when dismissed

主题:我希望能够取消对话框中的关闭调用。

我正在通过对话框输入信息。当对话框内的数据发生变化并且用户在不保存的情况下关闭对话框(通过按回或单击对话框外部)时,我希望能够通过显示确认对话框来防止关闭,询问用户是否真的想要关闭对话框。 我正在寻找的一个类比是在 VBA 中,其中 beforeSave-listener 的取消变量可以设置为 "true",这样即使按下保存,文件也不会被保存。

我找不到可以放在对话框的 dismissListener 中的解决方案。

在此先致谢并致以最诚挚的问候!

您可以在布尔值中维护对话框打开/关闭的状态并进行处理。当您打开对话框时,您将其设置为真,当用户单击后退或在对话框外单击时,检查布尔值并显示警报弹出窗口,当对话框关闭(关闭)时将布尔值设置为假。

在对话框视图中使用这些方法以防止取消对话框

 ProgressDialog progressDialog = new ProgressDialog(this);
 progressDialog.setCanceledOnTouchOutside(false);
 progressDialog.setCancelable(false);
 progressDialog.show();