有这么一个问题,在listView的自定义适配器中,要将传进得list.get(position) 的当前对象的一个值Url, 通过网络请求下载之后,在通过ViewHoder.ImageView.setImage() 赋值显示,现在的情况就是数据错位显示,
以下时adapter的getView()方法的部分代码
final String headUrl = teacherResponseList.get(position).getHeadUrl();
new Thread(new Runnable() {
@Override
public void run() {
bitmap = Utils.getImageFromServer(headUrl);
bitmap = Utils.getCirCleBitmap(bitmap);
}
}).start();
viewHodler.teacher_iv.setImageBitmap(bitmap);
viewHodler.teacher_name_tv.setText(teacherResponseList.get(position).getName());
viewHodler.teacher_account.setText(teacherResponseList.get(position).getSpecialtie
求解决思路
是滑动导致的错位吗 还是初始化就错位
你试着调一下item的view,控制一下图片大小
网络请求数据,是一个较慢的动作,不适合放到getView里面。
应该是先完成网络请求,准备好了数据,然后调用notifyDataSetChanged()更新界面
给显示的图片ImageView在适配器的getView()方法设置一个Tag.就可以了
1.用viewHolder
2.异步下载图片显示。
图片的加载是比较慢的,你需要用异步