3

我有的

我的GridLayoutManager Recyclerview位置0,2,5,7用自定义图像固定(相对布局转换为位图;)),其余位置使用volley 的 setImageUrl()填充来自服务器的图像

我想要的是

我希望使用 setDefaultImageResId()从我的可绘制文件夹GridLayoutManager Recyclerview中显示离线图像,直到加载来自服务器的图像

我的问题

default images即使没有来自服务器原因GridLayoutManager Recyclerview的图像,我如何设置不同(当没有来自服务器的数据时,不填充单元格),我仍然想显示默认图像(需要迷你 4 个单元格)

我做过的临时把戏

我在虚拟服务器中上传了我的 4 个默认图像以强制GridLayoutManager Recyclerview生成单元格并使用volley 的 setImageUrl()显示它

我的预期结果

在此处输入图像描述

4

2 回答 2

0

我认为 Volley 可以选择在发生错误时显示默认图像和图像。

NetworkImageView niv = (NetworkImageView)findViewById(R.id.niv);
if(url.length() > 0) 
    niv.setImageUrl(url, imageLoader);
niv.setDefaultImageResId(R.drawable._default);
niv.setErrorImageResId(R.drawable.error);
于 2016-02-17T12:51:41.403 回答
0

You can use the Picasso library for loading the images from the server. Using Picasso, you can determine an image to be shown in case of a network error, or if no data is available.

Picasso.with(context).load(url).error(R.drawable.error_or_defaultimage).into(R.id.imageview,callback) ;

Here's a tutorial on using Picasso.

于 2016-02-17T12:55:51.943 回答