2

それがどのように機能するのか知りたいのですが。ドキュメントを数回読んだことがありますが、わかりません。

場合によってonPostExecuteは何もしないことに気づきました。

誰か教えてもらえますか?

4

4 に答える 4

11

AsyncTaskから派生したクラスThreadであり、バックグラウンドでいくつかのことを行う簡単で適切な方法を提供しますUI Thread

それを使用するにはclass、 を作成しextends、型パラメータを定義する必要があります。それらはParamsProgressおよびResultです。詳細については、こちらをご覧ください

onPostExecute()doInBackground()実行が終了したときに呼び出されるメソッドですがonPostExecute()、UI スレッドで実行されます。そのため、作業が完了したことを UI に通知できます。

AsyncTask使用例はこちらでご覧いただけます

于 2011-04-14T12:53:13.220 に答える
3

その部分は、Java でGenerics<Void, Void, Long>と呼ばれるものです。「エンドユーザー」がどのタイプを選択するかに関係なく、元のコーダーがそれを使用したいクラスで使用されます。

通常onPre/PostExecute()、進行状況ダイアログを開始/停止する場合に使用します。

進行状況ダイアログなしで進行中に UI を更新したい場合は、何かを実行できますonProgressUpdate()(つまり、Web から画像を読み込んで、読み込まれたときにそれらを表示しています)。

プログレスバー付きのダイアログがある場合は、それらすべてを使用してプログレスバーを更新する必要があります。

于 2011-04-14T13:10:05.573 に答える
2

この投稿では、AsyncTask の概念を図でうまく説明しています。

于 2011-04-14T18:55:46.897 に答える
0

{onPostExecute()}バックグラウンドタスクを完了した後に何かをしたいときに使用されます{(doInBackground())}

例えば、

start Progress Bar @ {onPreExecute()}
running Progress Bar @ {doInBackground()}
stop Progress Bar @ {onPostExecute()}
于 2012-08-09T11:29:35.860 に答える