2

だから私はrunOnUiThread()、ビューのようなメソッドを使用しようとしてきました。

アクティビティを拡張しないメイン クラスの外部にあるクラスから画像ビューを更新するために投稿すると、同じ問題が発生し続けます。

最初はうまく動作しますが、アプリケーションを再起動すると、画像ビューが更新されなくなります。

クラスを使用AsyncTaskしてビットマップを取得し、そのビットマップを使用して設定し、イメージ ビューを表示することはできますか? もしそうなら、誰かが私に例を示すことができますか?

4

2 に答える 2

2

このように AsyncTask を拡張すると

クラス ClassName は AsyncTask を拡張します

doInBackground() から Bitmap を返す必要があり、UI スレッドで実行される onPostExecute(Bitmap) をオーバーライドします。これは、その Bitmap を ImageView に設定できることを意味します。

于 2012-07-10T17:34:50.077 に答える
0

runInBackground()AsyncTasksのメソッドのみが で呼び出されworker threadます。他のメソッドは UI スレッドで呼び出されるため、それを使用して UI への変更を呼び出すことができます。

onPreExecute()最初は進行状況バーのように使用できます。

publishProgress()それが言うように、ダウンロードした割合を言うなど、タスクの進行状況を公開することができます。

を使用onPostExecute()して、ダウンロードした可能性のあるビットマップやテキストのような Views を設定できます。

于 2012-07-10T17:35:57.780 に答える