在我的应用程序中,我开始AsyncTask
下载一些数据,在UI线程上我开始ProgressDialog
。问题是当我从纵向更改为横向时,反之亦然,在任务onPostExecute
上我无法忽略ProgressDialog
。 dismiss()
函数是在ProgressDialog
的实例上调用的,但它不会被忽略。这是为什么?
由于
编辑:
我想我失去了AsyncTask线程中当前活动的引用。这可能吗?如果是,我该如何解决?
编辑: 我不能保留asyncTask的引用并把它放在bundle中吗?
答案 0 :(得分:1)
尝试使用活动的android:configChanges
属性,以便在切换方向时不重新创建。
答案 1 :(得分:1)
在onPostExecute方法中单独使用Handler来解除ProgressDialog,如下所示:
private Handler finishedHandler = new Handler()
{
@Override
public void handleMessage(Message msg) {
Progressdialog.dismiss();
}
};