我有一个自定义对话框,当按下按钮时,它会执行异步任务。我想要的是关闭asynctexecute异步任务的对话框。我怎么能这样做?
提前致谢
答案 0 :(得分:2)
如果您使用Async
作为内部类,则使用dialog.dismiss()
直接忽略它,其中dialog
被声明为类实例变量。如果没有,请通过async constructor
传递,然后dismiss
传递给onPostExecute
。
通常我要做的是:在onPreExecute
上创建对话框,然后在dismiss
上创建onPostExecute
对话框,但这也取决于您的需要,在哪里宣布它。
答案 1 :(得分:0)
如果你想在AsynTask完成之前解除对话,你可以在你需要的时候在AsynTask的dialog.dismiss()
方法中调用onProgressUpdate()
。这个函数在UI线程中调用,所以你不会遇到问题。
有关onProgressUpdate()
功能的其他信息,请访问:http://developer.android.com/reference/android/os/AsyncTask.html