【问题标题】:Get URI from holder.imageView?从 holder.imageView 获取 URI?
【发布时间】:2016-07-14 16:09:27
【问题描述】:

我想我很困惑,所有的 URI 都通过了,这是我的想法,我正在下载图像(使用滑翔)到我的卡片视图,当用户单击我想将所有卡片数据传递给其他 Fragmnet 的项目时,vars是随包一起携带的,但是图像呢。

我真的需要在其他片段中重新下载图像吗,或者有什么方法可以从 holder.imageview 中获取 URI,或者有什么方法可以缓存图像?

任何建议将不胜感激!

【问题讨论】:

  • Glide使用的是chaching系统,下载后不会再下载。
  • 所以让我做对了,如果我只将 img 的 url 传递给另一个片段,并且在另一个片段中为 listview holder.image 使用 glide,glide 不会再次下载它?
  • 是的,这就是这里作为缓存锚点的“上下文”。它在另一个活动中会变得不同。而且 glide 缓存不仅在内存中,也在存储中
  • 你可以试试改成飞行模式,看看,图片还在加载中
  • 哇酷,不知道,我试试,谢谢!!!

标签: android android-fragments android-imageview android-viewholder


【解决方案1】:

Glide 本身可以非常有效地缓存您的图像,因此您不必担心它。或者,您也可以将图像作为参数传递给新片段,方法是先将其存储为位图。

Bitmap nitmap = Glide.
    with(this).
    load("http://....").
    asBitmap().
    into(-1, -1). 
    get();

然后将此位图作为参数传递。

【讨论】:

  • ok 好的,很好,我先试试 glide 缓存,然后再进行位图转换。
【解决方案2】:

在您的持有人中,有一个变量来存储您的 URI(设备中保存位置的 URI)

然后您可以简单地将 uri 传递给您的其他片段。

【讨论】:

    【解决方案3】:

    使用相同的滑行代码加载图像。

    Glide.with(context).load("url").into(holder.imageview);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-06-06
      • 2010-12-10
      • 2018-07-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多