android 异步下载图片后更新ListView的图片显示

ListView的适配器继承BaseAdapter适配器的getView方法里面有:loadImage(data.get(position).get("pic").toS... ListView的适配器继承BaseAdapter
适配器的getView方法里面有:
loadImage(data.get(position).get("pic").toString(), viewHolder.ivImg);

loadImage方法:
private void loadImage(final String url, final ImageView imageView)
{
new Thread(new Runnable()
{
@Override
public void run()
{
handler.obtainMessage(1, getBitmap(url)).sendToTarget();//其中getBitmap(url)是一个下载网络图片的方法,返回Bitmap类型。
}
}).start();
}

主线程的handler:
handler = new Handler()
{
@Override
public void handleMessage(Message msg)
{
******.setImageBitmap((Bitmap) msg.obj);
}
};

我想问的是我应该怎么在handler里面更新UI,我要更新的是viewHolder.ivImg,而我又不能指定具体的ImageView来更新。
请各位大神提个好方法出来啊,万分感激~
展开
 我来答
匿名用户
2014-01-30
展开全部
你传bitmap?万一bitmap比较大,你又多线程,很容易OOM的。你在getView里面用asyncTask来就好,何必用handler。Message只能传一个Object对象。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式