-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 に答える