Tôi đang tạo một Trình tải hình ảnh để tải hình ảnh vào danh sách - vì vậy để nó được mịn màng, mọi thứ cần phải chạy trong chuỗi nền ngoại trừ việc đặt hình ảnh vào chế độ xem. Vấn đề là Runnable trong mã dưới đây đôi khi không được thực hiện. Tôi đang gọi phương thức setImage từ chủ đề nền.View.post() không được gọi?
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();
}
});
}
Bất kỳ ai có ý tưởng gì tôi đang làm sai?
Tôi đã thay thế View.post bằng Handler.post và dường như nó hoạt động như bơ bây giờ. – martinpelant