如何从 onPreExecute() 方法中取消 ProcessDialog
Posted
技术标签:
【中文标题】如何从 onPreExecute() 方法中取消 ProcessDialog【英文标题】:How to cancel ProcessDialog from onPreExecute() method 【发布时间】:2016-01-18 01:41:43 【问题描述】:当某些情况发生时,我不知道如何从onPreExecute()
返回。
例如:
@Override
protected void onPreExecute()
if(varCancel)
//Do not execute doInBackground() method
super.onPreExecute();
问题是,我想在方法doInBackground()
开始之前取消这个过程。
【问题讨论】:
【参考方案1】:使用AsyncTask.cancel(boolean mayInterruptIfRunning)取消Task的执行。
if(varCancel)
//Do not execute doInBackground() method
this.cancel(true);
或者使用类对象调用execute()
启动AsyncTask
来取消它:
if(varCancel)
//Do not execute doInBackground() method
<CLASS_OBJECT>.cancel(true);
【讨论】:
以上是关于如何从 onPreExecute() 方法中取消 ProcessDialog的主要内容,如果未能解决你的问题,请参考以下文章
Android:如何将参数传递给 AsyncTask 的 onPreExecute()?
异步任务;调用方法 onPreExecute() 后未调用 doInbackground()
从片段调用 Android AsyncTask 没有调用其成员 - doInbackground、onpreexecute、onpostexecute