8
私はリストに画像を読み込むためのImageローダーを作っています。そのため、スムーズにするためには、画像をビューに設定する点を除いてすべてバックグラウンドスレッドで実行する必要があります。 問題は、コード内のRunnableが実行されないことがあることです。 私はバックグラウンドスレッドからsetImageメソッドを呼び出しています。View.post()が呼び出されていませんか?
protected void setImage(final ImageView img, final Bitmap bm, String hash) {
img.setTag(TAG_RESPONSE, hash);
Log.v(TAG, "setting image bitmap1");
//TODO: here is the bug - sometimes the runnable below is not called
img.post(new Runnable() {
@Override
public void run() {
Log.v(TAG, "setting image bitmap2");
img.setImageBitmap(bm);
img.invalidate();
}
});
}
私は間違って何をしているのですか?
私はView.postをHandler.postに置き換えました。今はバターのように動作するようです。 – martinpelant