【发布时间】:2014-08-18 01:52:43
【问题描述】:
我正在使用 ListView,ImageView 是 List 的一个元素。快速滚动列表时遇到问题:系统似乎正在回收视图,直到它在我的 ListView 中加载正确位置的视图,导致图像和文本重复几秒钟。之后,ImageView 正确显示图像。我正在使用通用图像加载器库来加载图像。
@Override
public View getView(int position, View v, ViewGroup parent) {
final PhotoViewHolder holder;
if(v == null){
LayoutInflater li = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = li.inflate(R.layout.photo_item_horizonal_layout, parent, false);
holder = new PhotoViewHolder();
holder.imgPhoto = (ImageView)v.findViewById(R.id.imgPhotoIcon);
v.setTag(holder);
}else{
holder = (PhotoViewHolder)v.getTag();
}
//item variable is a element at position of ArrayList
ImageLoader.getInstance().displayImage(item.getImageUrl(), holder.imgPhoto);
...
}
谁能帮帮我? 提前致谢
【问题讨论】:
-
你能告诉我们适配器代码吗?
-
ListView 就是这样工作的。它回收视图。您需要在每次调用 getView 时完全设置所有 UI 元素,以使其正常工作。发布您的getView,您可能没有正确。
-
显示你的整个适配器代码?
标签: android listview universal-image-loader