我有一个RecylerView,其中每个项目都包含Iamge,加载图像我正在使用Glide。我面临的问题是列表中的某些图像没有显示,并且在我的onException回调中,对于这些图像,Exception和model都为null。
如果您将看到列表图像中的第四个项目未显示。
以下是我编码的方式
Glide.with(context).load(productItem.getImg())
.diskCacheStrategy(DiskCacheStrategy.SOURCE)
.listener(new RequestListener<String, GlideDrawable>() {
@Override
public boolean onException(Exception e, String model, Target<GlideDrawable> target, boolean isFirstResource) {
if( e != null) {
e.printStackTrace();
}
return false;
}
@Override
public boolean onResourceReady(GlideDrawable resource, String model, Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) {
return false;
}
}).
into(holder.imageViewModel);
enter code here
并且在xml中我有ImageView声明像这样
<ImageView
android:id="@+id/imageViewModel"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_margin="@dimen/cart_vertical_margin"/>
答案 0 :(得分:0)
使用以下内容:
Glide.with(mContext).load(productItem.getImg()).asBitmap().centerCrop().into(new SimpleTarget<Bitmap>(200, 200) {
@Override
public void onResourceReady(Bitmap arg0, GlideAnimation<? super Bitmap> arg1) {
// TODO Auto-generated method stub
if (arg0 != null) {
holder.imageViewModel.setImageBitmap(arg0);
} else {
holder.imageViewModel.setImageResource(R.drawable.ic_launcher);
}
}
});