【问题标题】:loading different offline images (default images ) in NetworkImageview Volley android在 NetworkImageview Volley android 中加载不同的离线图像(默认图像)
【发布时间】:2016-02-17 12:43:39
【问题描述】:

我有什么

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

从服务器获取图像

我想要什么

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

我的问题

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

我做的临时把戏

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

显示它

我的预期结果

【问题讨论】:

    标签: android android-recyclerview android-volley gridlayoutmanager


    【解决方案1】:

    我认为 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);
    

    【讨论】:

    • 我知道这一点,但是当我从服务器获取数据时,默认图像就会起作用。如果我不想显示默认图像怎么办?
    • 根据文档 setDefaultImageResId “设置用于此视图的默认图像资源 ID,直到尝试加载它完成”,所以我想如果您没有从服务器获取图像将显示默认图像,不是吗?
    • 我没有从服务器获取图像,我的 Recyclerview 甚至没有填充单元格,那么我如何显示 DefaultImages ?
    【解决方案2】:

    您可以使用 Picasso library 从服务器加载图像。使用 Picasso,您可以确定在网络错误或没有可用数据的情况下显示的图像。

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

    Here's a tutorial on using Picasso.

    【讨论】:

      猜你喜欢
      • 2015-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-11
      • 2013-05-28
      • 2017-12-31
      • 2016-07-16
      • 1970-01-01
      相关资源
      最近更新 更多