`DialogInterface.dismiss()`和`DialogInterface.cancel()`有什么区别?

SME*_*SME 19 android dialog android-widget

在android中使用对话框时可以取消它或解除它,但何时使用dismiss和何时使用取消?他们之间有什么区别?提前致谢.

AAn*_*kit 41

public void cancel()自:API级别1

取消对话框.这与调用dismiss()基本相同,但它也会调用DialogInterface.OnCancelListener(如果已注册).

这就是文档所说的,两者都是一样的,只是cancel()将调用在DialogInterface上注册的监听器.

参考链接也
参见此ANSWER以供参考


小智 5

cancel() - 取消对话框。这本质上与调用解雇()相同,但它也会调用您的DialogInterface.OnCancelListener(如果已注册)。

miss() - 关闭此对话框,将其从屏幕上删除。可以从任何线程安全地调用此方法。请注意,当对话框关闭时,您不应重写此方法来进行清理,而应在 onStop() 中实现该方法。

您应该在此处查看有关如何使用这两种方法的更多信息