我正在使用 Picasso 在我的 expandableListview 上加载图像,但似乎图像缓存不起作用。
我的列表上有一堆图像,每次向下和向上滚动时,我都会看到占位符。我以前使用过通用图像加载器,当我已经加载图像时它没有显示占位符。
这是我的适配器以及我如何使用它:
...
@Override
public View getChildView(int groupPosition, int childPosition, boolean b, View convertView, ViewGroup viewGroup) {
final ChildViewHolder viewHolder;
mChild = (ArrayList<Item>) mChildWrapper.get(groupPosition);
Item item = mChild.get(childPosition);
if (convertView == null) {
convertView = mInflater.inflate(R.layout.my_child_row, null);
viewHolder = new ChildViewHolder();
viewHolder.myImage = (ImageView) convertView.findViewById(R.id.my_img);
convertView.setTag(viewHolder);
} else {
viewHolder = (ChildViewHolder) convertView.getTag();
}
Picasso.with(mContext)
.load(item.getUrl())
.placeholder(R.drawable.my_placeholder)
.into(viewHolder.myImage, new Callback() {
@Override
public void onSuccess() {
viewHolder.myImage.setVisibility(View.VISIBLE);
}
@Override
public void onError() {
viewHolder.myImage.setVisibility(View.GONE);
}
});
return convertView;
}
...
static class ChildViewHolder {
...
private ImageView myImage;
...
}
我引用了这篇文章进行缓存,但它对我不起作用。我在这里做错了什么?