有以下asynctask,我正在使用下載一些圖像。除了第一個圖像以外,它可以很好地工作,除非我做了像移動到下一個圖像然後再回來的東西,這並不總是出現。imageview繪製問題與asynctask
public class DownloadImageTask extends AsyncTask<String, Void, Bitmap> {
static ImageView _imageView=null;
public DownloadImageTask(ImageView ctl){
_imageView=ctl;
}
protected void onPostExecute(Bitmap result) {
_imageView.setImageBitmap(result);
}
...
}
我認爲這可能與在後臺線程更新UI的問題,所以我重新設計這個使用調用調用.setImageBitmap(UI線程上的方法的抽象類),但我仍然得到相同的行爲 - 對除第一個圖像以外的所有圖像都適用,除非我移動到下一張圖像並再次返回。
有沒有辦法在我設置圖像後強制對imageview進行重繪?
不應該是一個問題圍繞後臺線程調用,因爲onPostExecute應該在UI線程中執行。在Activity生命週期中,你從哪裏調用AsyncTask? – kabuko