カスタムしてImageView
ます。その方法の 1 つは、URL から画像をロードすることです。そして、スレッドでビットマップを取得し、UI スレッドでビットマップをロードしたいと考えています。
runOnUIThread()
ビットマップの描画を呼び出すにはどうすればよいですか?
ある種の組み込み関数はありますか?またはHandler
、コンストラクターで を作成し、UI スレッドでランナブルを実行するために使用する必要がありますか?
経由でイメージをダウンロードし、そのonPostExecuteメソッドAsyncTask
でビューに設定します
また
別の画像ダウンロード スレッドから、常にUI スレッドで実行されるpostメソッドを使用します。View
Runnable
yourImageView.post(new Runnable() {
@Override
public void run() {
// set the downloaded image here
}
});
次のようなことができます。
new Thread(new Runnable() {
public void run() {
final Bitmap bm = getBitmapFromURL(myStation.getStation().imageURL);
((Activity) context).runOnUiThread(new Runnable() {
public void run() {
icon.setImageBitmap(bm);
}
});
}
}).start();
これは、ListAdapter のように、アクティビティの外で機能します。
AsyncTask を拡張するクラスを作成します。コンストラクターで ImageView を渡します。doInBackground メソッドで、イメージをダウンロードします。postExecute メソッドで、イメージを ImageView に設定します。