使用Glide4.0有些图片无法显示
Opened this issue · 3 comments
zhonglinhong commented
Glide最新的4.0 apply(baseOptions)后很多图片不能加载出来,不设置则没有问题,具体代码如下。
public class PostViewHolder extends RecyclerView.ViewHolder {
private NineGridImageView mNglContent;
private TextView mTvContent;
private RequestOptions baseOptions;
private NineGridImageViewAdapter<String> mAdapter = new NineGridImageViewAdapter<String>() {
@Override
protected void onDisplayImage(Context context, ImageView imageView, String s) {
Glide.with(context).load(s).apply(baseOptions).into(imageView);
// Picasso.with(context).load(s).placeholder(R.drawable.ic_default_image).into(imageView);
}
@Override
protected ImageView generateImageView(Context context) {
return super.generateImageView(context);
}
@Override
protected void onItemImageClick(Context context, ImageView imageView, int index, List<String> list) {
Toast.makeText(context, "image position is " + index, Toast.LENGTH_SHORT).show();
}
};
public PostViewHolder(View itemView) {
super(itemView);
baseOptions = new RequestOptions()
.dontAnimate()
.diskCacheStrategy(DiskCacheStrategy.ALL)
.centerCrop()
.circleCrop()
.placeholder(R.drawable.ic_default_image)
.error(R.drawable.ic_default_image);
mTvContent = (TextView) itemView.findViewById(R.id.tv_content);
mNglContent = (NineGridImageView<String>) itemView.findViewById(R.id.ngl_images);
mNglContent.setAdapter(mAdapter);
mNglContent.setItemImageClickListener(new ItemImageClickListener<String>() {
@Override
public void onItemImageClick(Context context, ImageView imageView, int index, List<String> list) {
Log.d("onItemImageClick", list.get(index));
}
});
}
public void bind(Post post) {
mNglContent.setImagesData(post.getImgUrlList(), post.getmSpanType());
mTvContent.setText(post.getContent());
Log.d("jaeger", "九宫格高度: " + mNglContent.getMeasuredHeight());
Log.d("jaeger", "item 高度: " + itemView.getMeasuredHeight());
}
}
laobie commented
这个可能是 baseOptions
设置了某些选项导致的,你看看 log 里面有什么错误或者 warning
zhonglinhong commented
好的,我先看一下
LiJian0129 commented
Glide设置了placeholder,滑动后复用的view就显示placeholder图片