有以下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上强制重绘?
答案 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
所需的内容。当然,如果没有看到你的代码,上面只是一个疯狂的猜测......