我有一个包含ImageCardView的包装器类,并将从Web获取的图像加载到其中。在进行网络通话之前,我有
imageCardView.getMainImageView().setImageResource(R.drawable.icon_movie_placeholder);
由于某种原因,如果我之后立即进行网络通话,图像永远不会出现,即使单个海报出现可能需要0.5-1.5秒。但是,如果我注释掉网络呼叫和分配,图像就会出现。我如何制作它以便在提取海报时可以看到占位符?我使用Picasso来做这件事,Picasso在加载前清除图像视图吗?
答案 0 :(得分:1)
我认为毕加索在调用load(url).into(imageView)
方法时会清除图像,以避免在listView / recyclerView上显示不正确的图像。
您可以使用Picasso自己设置占位符图片的方式,就像这样工作
Picasso.with(context)
.load(imageUrl)
.placeholder(R.drawable.icon_movie_placeholder)
.into(imageView)
这样Picasso将在网络请求完成之前显示您的icon_movie_placeholder
drawable,如果您需要提供占位符图像,您可以使用构建器的error(resourceId)
方法。< / p>
您可以在Picasso官方Github页面上找到更多相关信息(特别是在功能部分:http://square.github.io/picasso/