3

サーバーからデータをロードし、ArrayAdapter を使用してリストとして表示するアクティビティを作成しています。そのために、サーバーからすべてのデータをロードしている間、進行状況ダイアログ、つまりロードを表示しています。次に、ハンドラーでダイアログを閉じます。私の問題は、方向を変更するたびに進行状況ダイアログが再度表示されることです。これは、すべてのデータが既に表示されているため、必要ありません。

4

1 に答える 1

5

2つのオプションがあると思い
ます.アクティビティが方向を変更できないように強制します:

<activity android:name="MainActivity" android:configChanges="keyboardHidden|orientation"> 

マニフェスト ( documentation ) で、向きの変更を自分で処理したいことをシステムに伝えます。この場合、何もしません。ただし、たとえば電話を受けたときに、このアクティビティが Android によって中断される可能性があるため、いくつかのコードを追加しonPause()た方がよいでしょう。onSaveInstanceState()したがって、いくつかの節約を処理する必要があります。

または、ダイアログが既に表示されている場合、またはバックグラウンド スレッドが実行されている場合は、ダイアログを表示しないように選択します。タスクのステータスを返すAsyncTask.getStatusを使用できるため、ダウンロード部分に AsyncTask を使用すると簡単です。すでに終了ステータスになっている場合は、ダイアログをキャンセルする必要があります。

于 2010-08-09T09:46:35.593 に答える