我正在使用可绘制对象中的图像构建一个应用程序,但由于它们太多,我将它们存储在 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/