【发布时间】:2014-05-19 23:39:53
【问题描述】:
private class CustomAdapter extends CursorAdapter {
@Override
public void bindView(View view, Context context, Cursor cursor) {
if (view != null) {
String url = cursor.getString(CONTENT_URL_COLUMN);
ViewHolder viewHolder = (ViewHolder) view.getTag();
final ImageView imageView = viewHolder.mImageViewIcon;
final TextView textView = viewHolder.mTextViewName;
Picasso.with(context).load(url).into(new Target() {
@Override
public void onBitmapLoaded(Bitmap arg0, LoadedFrom arg1) {
imageView.setImageBitmap(arg0);
imageView.setVisibility(View.VISIBLE);
textView.setVisibility(View.GONE);
}
@Override
public void onBitmapFailed(Drawable arg0) {
imageView.setVisibility(View.GONE);
textView.setVisibility(View.VISIBLE);
}
});
}
}
}
}
如果图像列表已经下载,那么在快速滚动列表时, onBitmapLoaded() 方法调用并从内存缓存中加载图像。但有时会调用 onBitmapFailed()。为什么?
【问题讨论】:
-
Picasso p = new Picasso.Builder(context).setCache(new LruCache(24000)).build(); -
问题依然存在。