我有一个在onCreate
中加载AsyncTask的活动,但是,由于该活动已经结束了生命周期,但ProgressDialog仍在运行,因此我遇到了异常。
我的解决方案是:
在onDestroy
和onPause
方法中调用dismiss方法。这里的问题是,ProgressDialog
现在无用了,即使后台任务甚至还没有完成提取数据的操作,它都被取消了。
在onPause
中也尝试过此操作,但无限循环不会终止。
while(progress.isShowing()){
}
progress.dismiss();
最佳答案
您为什么不从aynctask的onpostexecute方法获取事件并将其关闭。创建一个接口来获取事件并将其传递给asynctask构造函数。 asyntask的OnPPostExecute方法,调用该接口的方法并关闭那里的进度栏。