我正在制作一个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中取出可绘制图像,并将其存储在我创建的对象中,但是无论我尝试什么image属性都保持为null。
谢谢。
答案 0 :(得分:2)
不要存储可绘制对象的数组,因为要尝试以这种方式处理的数据太多。只需存储要用来加载该图像的引用字符串数组,然后在需要的任何地方使用引用字符串重新加载图像即可。 Glide软件包已经缓存了图像,因此您只需将其引用字符串传递给它,并且仅在必要时才再次下载图像。