【发布时间】:2018-02-16 06:43:02
【问题描述】:
我使用毕加索在回收器视图适配器中加载了一些图像,但一些图像显示它成功加载但实际上没有显示
这是我的图像视图
<ImageView
android:id="@+id/news_main_imageView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerCrop"
tools:src="@drawable/image" />
适配器代码
if (holder instanceof NewsViewHolder) {
((NewsViewHolder) holder).newsTitleTextView.setText(currentArticle.getTitle().trim());
((NewsViewHolder) holder).newsDateTextView.setText(DateUtils.getDisplayDate(currentArticle.getPublishedAt(), context));
if (!currentArticle.getThumbnail().isEmpty()) {
((NewsViewHolder) holder).higherLevelSpace.setVisibility(View.VISIBLE);
((NewsViewHolder) holder).newsTitleTextView.setGravity(Gravity.CENTER_VERTICAL);
//Load the news image
Picasso.with(context)
.load(currentArticle.getThumbnail().trim())
.networkPolicy(NetworkPolicy.OFFLINE)
.into(((NewsViewHolder) holder).newsMainImageView, new Callback() {
@Override
public void onSuccess() {
((NewsViewHolder) holder).newsImageScrim.setVisibility(View.VISIBLE);
}
@Override
public void onError() {
((NewsViewHolder) holder).newsImageScrim.setVisibility(View.GONE);
//Try again online if cache failed
Picasso.with(context)
.load(currentArticle.getThumbnail().trim())
.into(((NewsViewHolder) holder).newsMainImageView, new Callback() {
@Override
public void onSuccess() {
((NewsViewHolder) holder).newsImageScrim.setVisibility(View.VISIBLE);
}
@Override
public void onError() {
((NewsViewHolder) holder).newsImageScrim.setVisibility(View.GONE);
Timber.e("Could not fetch image");
}
});
}
});
} else {
((NewsViewHolder) holder).higherLevelSpace.setVisibility(View.GONE);
((NewsViewHolder) holder).newsMainImageView.setVisibility(View.GONE);
((NewsViewHolder) holder).newsImageScrim.setVisibility(View.GONE);
}
所以任何人都面临这个问题或有解决方案
【问题讨论】:
-
if (!currentArticle.getThumbnail().isEmpty()) 是什么?
-
这意味着没有图像,他超出了加载条件,但图像实际上有 url,并且在日志中它已成功加载并缓存但没有显示一些图像有这个并且它们的大小是正常的跨度>
-
请给我们图片网址
-
将 https 替换为 http 并在此处更新结果