上一篇博客AsyncTask的用法有一个ProgressDialog,它有两个方法dialog.cancel() 和pdialog.dismiss();
都是取消关闭ProgressDialog,有什么区别吗?
查询API文档,ProgressDialog继承于Dialog,而cancel和dismiss就是在Dialog类中。

public void cancel ()
Cancel the dialog. This is essentially the same as calling dismiss(), but it will also call your DialogInterface.OnCancelListener (if registered).
取消对话框,基本上和调用dismiss效果一样。但是cancel同事也会调用DialogInterface.OnCancelListener注册的事件,如果注册了。
public void dismiss ()
Dismiss this dialog, removing it from the screen. This method can be invoked safely from any thread. Note that you should not override this method to do cleanup when the dialog is dismissed, instead implement that in onStop().
参见Dialog类源码:http://www.oschina.net/code/explore/android-2.2-froyo/android/app/Dialog.java
本文详细解释了Android中ProgressDialog的cancel和dismiss两个方法的区别。cancel不仅会移除对话框,还会调用OnCancelListener接口,而dismiss仅移除对话框。
7571

被折叠的 条评论
为什么被折叠?



