【发布时间】:2014-12-19 04:55:19
【问题描述】:
我有一个自定义对话框,当按下按钮时,它会执行异步任务。我想要的是在异步任务的postexecute 上关闭对话框。我该怎么做?
提前致谢
【问题讨论】:
-
显示您拥有的代码。没有这个,我们只能说,
dialog.dismiss() -
感谢我找到了解决方案
标签: android android-asynctask dialog dismiss
我有一个自定义对话框,当按下按钮时,它会执行异步任务。我想要的是在异步任务的postexecute 上关闭对话框。我该怎么做?
提前致谢
【问题讨论】:
dialog.dismiss()
标签: android android-asynctask dialog dismiss
如果您将Async 作为内部类直接使用dialog.dismiss() 将其关闭,其中dialog 被声明为类实例变量。如果没有,请通过async constructor 传递它,然后通过dismiss 传递它到onPostExecute。
通常我会做的是:在onPreExecute 上创建对话框,然后在onPostExecute 上创建dismiss,但这也取决于你的需要,你在哪里声明它。
【讨论】:
如果你想在 AsynTask 完成之前关闭对话框,你可以在你需要的时候调用 AsynTask 的onProgressUpdate() 方法中的dialog.dismiss()。这个函数在 UI 线程中调用,所以你不会有问题。
更多关于onProgressUpdate()函数的信息可以在这里找到:http://developer.android.com/reference/android/os/AsyncTask.html
【讨论】: