-1

在我的应用程序中,我开始AsyncTask下载一些数据,并在 UI 线程上启动ProgressDialog. 问题是当我从纵向更改为横向或反之亦然时,在onPostExecute任务中我无法关闭ProgressDialog. 该dismiss()函数在 的实例上调用ProgressDialog,但不会关闭。这是为什么?

谢谢

编辑 :

我想我失去了 AsyncTask 线程中当前活动的引用。这可能吗?如果是,我该如何解决?

编辑: 我不能保留 asyncTask 的引用并将其放入包中吗?

4

2 回答 2

1

在 onPostExecute 方法中单独使用 Handler 来关闭 ProgressDialog,如下所示:

    private Handler finishedHandler = new Handler()
{
    @Override 
    public void handleMessage(Message msg) {
        Progressdialog.dismiss();
    }
};
于 2012-05-15T10:41:00.813 回答
1

尝试使用android:configChanges活动的属性使其在切换方向时不重新创建。

于 2012-05-15T10:37:28.357 回答