0

asynctask が完了するたびに更新したいテキストビューがあります。

しかし、これまで読んだことから、以前にonPostExecute使用した場合にのみ実行できますsetContentView()。しかし、タスクが完了したときにユーザーが現在どのビューにいるのかわからないため、私にとっては良い解決策とは思えません。そして、現在のビューを取得できたとしても、ビューをsetContentView()再描画しませんか?

ありがとう

4

3 に答える 3

0

AsyncTaskタスクによって現在のユーザー インターフェイスを更新する必要がある場合は、これが適していると思います。あなたの場合、私はおそらくServicea がより良い選択であるかどうかを試してみるでしょう.

于 2012-07-05T22:42:54.360 に答える
0

私が知っているように、常に使用している AsyncTask は、メイン UI スレッドをブロックすることなくヘビーデューティーを実行します。時間のかかる作業を行う必要があるときに、ユーザーが何らかのアクティビティを操作することを意味します。AsyncTask はその仕事を行い、結果を UI に反映します。ユーザー満足。ユーザーがどこにいるのかわからない場合、おそらく AsyncTask は適切なソリューションではなく、サービスが必要です。それは仕事をし、何か準備ができているという通知を送信します。Tappi9ng 通知は、いくつかのデータでアクティビティを開きます。

于 2012-07-05T22:47:43.727 に答える
0

ワーカー スレッドから UI スレッドを変更するには、Handler またはメソッド runOnUiThread(Runnable runnable) を使用する必要があります。

于 2012-07-05T23:49:46.337 に答える