java - 通过 Glide 在 Activity 之间共享图像

标签 java android arrays android-intent android-glide

我正在使用可绘制对象中的图像构建一个应用程序,但由于它们太多,我将它们存储在 Firebase 中。

现在,在使用可绘制对象时一切都很好,但现在我使用 Glide 并且图像不在可绘制对象中,我陷入了困境。

我有一个带有 9 个 CardView 的 RecyclerView(= CardView 类 Item + AdapterClass 等等...)。

在主 fragment 中我创建了列表

list.add(new SpeciesItem("Name", "Description", R.id.picture);

但现在我有一个下载网址而不是可绘制引用。 相应地更改所有内容后,我回到了加载 CardView 中的图像的位置(现在通过 Glide),现在我的问题来了:

单击时,CardView 展开为具有共享元素(名称和图片)的新 Activity。

名称共享当然仍然可以通过 Name.setText(intent.getStringExtra("name")); 进行,因为我使用了 Intent 。

我不能做类似 Glide.with(this).load(intent.getIntExtra("image", 0)).into(ImageView);

但我也不能 Glide.with(this).load(List.get(position).getPicture).into(ImageView) 因为这是一个新的 Activity,我有不知道如何调用 CardView ArrayList。

如何将 CardView 中通过 Glide 加载的图片共享到不同 Activity 内的 ImageView 中?

最佳答案

不要传递名称和可绘制对象。将图像的名称和 url 传递给下一个 Activity 。 这些库加载缓存中的图像。您可以在另一个 Activity 中通过相同的照片 URL 重新加载图像。而不是从 firebase 加载它。它将从本地存储加载它。

关于java - 通过 Glide 在 Activity 之间共享图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56669199/

相关文章:

java - 在java中如何将带有整数的字符串转换为带有整数的数组?

php - 如何将 SQL 查询结果更改为 superfish 下拉菜单?

php - 如何使用特定列名作为数组索引来获取特定列的结果?

c# - 以特殊格式对字符串数组进行排序

java - 在 Java 后端订阅 AWS IoT 主题

java - Pyspark - java.lang.OutOfMemoryError : when running as standalone application but NO error when running as docker

Java正则表达式查找数字

android - 保护 Web 服务,使其只能由特定的 Android 应用程序调用

Java HashMap : Swap two values?

android - 将gradle和android studio更新到3.0.0并将android支持库更新到26.0.1后出现错误