我有一个在onCreate中加载AsyncTask的活动,但是,由于该活动已经结束了生命周期,但ProgressDialog仍在运行,因此我遇到了异常。

我的解决方案是:

onDestroyonPause方法中调用dismiss方法。这里的问题是,ProgressDialog现在无用了,即使后台任务甚至还没有完成提取数据的操作,它都被取消了。

onPause中也尝试过此操作,但无限循环不会终止。

    while(progress.isShowing()){

    }
    progress.dismiss();

最佳答案

您为什么不从aynctask的onpostexecute方法获取事件并将其关闭。创建一个接口来获取事件并将其传递给asynctask构造函数。 asyntask的OnPPostExecute方法,调用该接口的方法并关闭那里的进度栏。

10-05 19:13