从 ImageView 复制可绘制对象

Copy Drawable From ImageView

我正在制作一个 Android 应用程序,该应用程序的一部分调用 Google API 以获取特定位置的照片。这些照片将成为列表的一部分,我想在调用 API 并下载照片后将其保存在本地并稍后重新使用,而不是调用 API。我的代码贴在下面

fun placePhotoCall(ref : String, view : ImageView, index : Int) {
    if(places[index].image == null) {
        Glide.with(this).load(createPhotosRequestURL(ref)).into(view)
        places[index].image = view.image
    }
    else {
        view.setImageDrawable(places[index].image)
    }
}

此函数调用 API,下载照片,并将其存储在 ImageView 中。我想从所述 ImageView 中取出可绘制图像并将其存储在我创建的对象中,但是无论我尝试什么,图像 属性 仍然为空。

提前致谢。

不要存储可绘制对象数组,尝试以这种方式存储数据太多。只需存储您用来加载该图像的 ref 字符串的数组,并在您需要的任何地方使用 ref 字符串重新加载图像。 Glide 包已经缓存了图像,所以你只需将你的 ref String 传递给它,它只会在必要时再次下载图像。