【问题标题】:Transfer images from one activity to GalleryActivity将图像从一项活动传输到 GalleryActivity
【发布时间】:2018-09-27 17:38:34
【问题描述】:

我有一个活动,我展示了一个带有一些图像的浏览器。这些图像是使用 Glide 从远程源检索的。

现在我希望当用户点击一张图片时,他/她会被带到一个 GalleryActivity,他们还可以在其中滑动查看其余图片。

我怎样才能使这些图像传输到 GalleryActivity 而无需再次下载?

【问题讨论】:

  • 请在此处发布您的代码
  • 您只需在数组中添加照片 URL 并将其传递给下一个 Activity。 Glide 会自动缓存这些图片。

标签: android android-gallery


【解决方案1】:

在您的活动中创建一个ArrayList 的文件/路径/Uris,并将图像数组作为附加项传递给另一个活动。

intent.putExtra("images", yourList);

然后您可以从GalleryActivity 中的键"images" 接收列表。

您也可以传递当前Image的索引,以便在ViewPager中设置默认位置。

【讨论】:

  • 模型应该是 Parcelable/Serializable。 stackoverflow.com/q/13601883/6891563
  • @Khemraj、ArrayList/File/Uri/String 都是 ParcelableSerializable 或两者兼而有之。
  • 我刚刚添加了 ref,用户可能需要它来传递他的模型数组列表。
【解决方案2】:

你不用担心,glide缓存你的图片,如果url相同就不会再次下载了。

默认策略 AUTOMATIC 尝试使用最优策略 本地和远程图像。 AUTOMATIC 将只存储未修改的数据 在加载远程数据(如来自 URL)时支持您的负载 因为与调整数据大小相比,下载远程数据的成本更高 已经在磁盘上。对于本地数据,AUTOMATIC 将存储转换后的 缩略图只是因为检索原始数据很便宜,如果你 需要生成第二个缩略图大小或类型。

你可以看到Glide Caching

所以只需将您的图片 url 数组传递给下一个活动。并滑行加载。见How to pass array to next activity

【讨论】:

  • 问题不同
  • 请让 PO 决定。
  • 它不仅依赖于 OP。如果发布它也是为了社区
  • @VivekMishra 他想传递图像,只是不想再次下载,所以我让他知道从滑翔中缓存。如果他知道 glide 自动缓存,那么他就不会担心传递一些下载的图像,他只需要传递 urls 数组。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-01-24
  • 2012-03-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-24
相关资源
最近更新 更多