从服务器获取图像 url 时无法在图像视图中加载默认图像
Unable to load default image in image view while getting image url from server
我正在使用 GET 方法从下面给出的 jsonObject server.One 接收一些 JSON 数据:
{
"ID": "576",
"id": "c1b6d2d0d946504d09a471e05d3907c9",
"name": "Harminder Singh",
"last_logged": "1429535277",
"url": "common/marvel/photos/2015/04/fd64s_161_bd4c9ab730f5513206b999ec0d90d1fb",
"extension": "jpg",
"current_status": "icon-offline prople-offline",
"room_id": "a7aeed74714116f3b292a982238f83d2",
"current_user": false
}
我正在获取图像 url here.Using api 终点 url 和扩展我正在获取绝对 URL.
String absoluteURL = api + "/" + url + "." + extension;
我正在使用这个绝对值URL 使用 Picasso library.Now 在 imageview 中加载图像 library.Now 我的问题是在某些 url 图像存在而在某些不存在。所以我是获取一些图像视图作为 blank.How 我可以从接收到的 URL 验证图像是否存在吗?
你真的做不到。但是您可以使用占位符,甚至是加载图像。您可能会发现 this blog post 有用
没有直接的方法可以做到这一点,但您可以做的是覆盖 onimageLoadFailed() 方法。负载失败时你可以做任何你想做的事情。
Picasso.Builder builder = new Picasso.Builder(this);
builder.listener(new Picasso.Listener(){
@Override
public void onImageLoadFailed(Picasso picasso, Uri uri, Exception exception){
// your stuff
}
});
builder.build().load(URL).into(imageView);
或者如果你有一些默认的 drawable 每次在获取错误时都可以放置,那么你可以只添加
.error(R.mipmap.some_drawable)
我正在使用 GET 方法从下面给出的 jsonObject server.One 接收一些 JSON 数据:
{
"ID": "576",
"id": "c1b6d2d0d946504d09a471e05d3907c9",
"name": "Harminder Singh",
"last_logged": "1429535277",
"url": "common/marvel/photos/2015/04/fd64s_161_bd4c9ab730f5513206b999ec0d90d1fb",
"extension": "jpg",
"current_status": "icon-offline prople-offline",
"room_id": "a7aeed74714116f3b292a982238f83d2",
"current_user": false
}
我正在获取图像 url here.Using api 终点 url 和扩展我正在获取绝对 URL.
String absoluteURL = api + "/" + url + "." + extension;
我正在使用这个绝对值URL 使用 Picasso library.Now 在 imageview 中加载图像 library.Now 我的问题是在某些 url 图像存在而在某些不存在。所以我是获取一些图像视图作为 blank.How 我可以从接收到的 URL 验证图像是否存在吗?
你真的做不到。但是您可以使用占位符,甚至是加载图像。您可能会发现 this blog post 有用
没有直接的方法可以做到这一点,但您可以做的是覆盖 onimageLoadFailed() 方法。负载失败时你可以做任何你想做的事情。
Picasso.Builder builder = new Picasso.Builder(this);
builder.listener(new Picasso.Listener(){
@Override
public void onImageLoadFailed(Picasso picasso, Uri uri, Exception exception){
// your stuff
}
});
builder.build().load(URL).into(imageView);
或者如果你有一些默认的 drawable 每次在获取错误时都可以放置,那么你可以只添加
.error(R.mipmap.some_drawable)