imageview绘制asynctask问题

时间:2012-05-30 23:13:16

标签: android android-asynctask

有以下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上强制重绘?

1 个答案:

答案 0 :(得分:0)

我遇到了类似的问题,我在Activity.onCreate()中所做的事情是这样的:

ListView listView = (ListView) findViewById(R.id.myListView);
adapter = new MyArrayAdapter(this, myArray, ...);
listView.setAdapter(adapter);
if (myArray.size() > 0)
{
    // Fake a click on the first item
    onItemClick(listView, myArray, 0, 0);
}

然后,onItemClick()执行查找当前行的ImageView所需的内容。当然,如果没有看到你的代码,上面只是一个疯狂的猜测......