Android中对话被解散或取消的区别是什么?

就像标题所说的那样,Android中被解雇或取消的对话有什么区别?

通常情况下,一个对话框在作业完成时被解散,并从屏幕上移除。 当用户想要退出对话框并按下“后退”button时,对话框将被取消。

例如,屏幕上有一个标准的“是/否”对话框。 如果用户单击“否”,则对话框将被解除,“否”的值将返回给调用者。 如果不是selectYes或No,用户点击Back来退出对话框而不是做出select,然后对话框被取消,并且没有值返回给调用者。

dismiss是你必须显式调用你的代码,通常是响应Dialog的button上的点击事件。 如果你愿意的话,你可以在Activity调用dismissDialog ,然后在Dialog上调用dismiss

cancel方法只在代码中明确调用时执行,或者当您的可取消Dialog打开时(如@Lee所述),用户按下BACKbutton。

如果您使用的是DatePicker ,那么所有这一切依然如此。 正如@Lee所说, DatePickerDialog.OnDateSetListener只是检测用户何时从DatePickerselect了一个date。

Android开发人员参考提供了关于Dialog的更多信息。