我目前正在使用具有数据绑定工具的RecyclerView,以从通过API获取的url列表(/images/slider/my/myImage.jpg)中加载图片。
@BindingAdapter("imageUrl")
public static void loadImage(ImageView imageView, String imageUrl){
Picasso.with(imageView.getContext()).load(CommUtils.WEBSITE_LINK + imageUrl).into(imageView);
}
当前,我的ListAdapter中有上面的代码。当网址位于正确的链接中或服务器中存在时,能够很好地加载图像的代码,否则它将为空白。因此,我想创建一个案例,以便在显示之前检查图像是否存在/是否正确。
我想要实现的是:
if(Image Link exist){
//Load Image, Picasso.with.................
} else {
//Use Dummy Photo, Picasso.with..................
}
[编辑]现在,我知道如果路径不存在,我可以使用error()函数创建另一个负载。如果我的API返回两种可能不同的格式或“ url”,该怎么办?有路径(/images/slider/my/myImage.jpg)或无路径(myImage.jpg) 因此,在我的代码中,我想做类似的事情
if(websitelink + ImageUrl){ load image }
else(websitelink + path + ImageUrl) { load iamge} //Should this code run under error() from the first case??
我可以先对ImageUrl执行检查,而不是尝试直接加载图像并且仅在出现错误时更改
答案 0 :(得分:4)
毕加索仍然支持占位符和错误图像:
Picasso.get()
.load(url)
.placeholder(R.drawable.user_placeholder)
.error(R.drawable.user_placeholder_error)
.into(imageView);
因此,如果您要归档的只是显示一些错误图像,则在加载不起作用时,这就是您所需要的。
答案 1 :(得分:1)
您可以使用delete table1,table1_details from table1 a join table1_details b on table1.id=table1_details.t1_id where a.id=9
来收听回复。
com.squareup.picasso.Callback