【问题标题】:Copy Drawable From ImageView从 ImageView 复制 Drawable
【发布时间】:2018-06-26 17:40:52
【问题描述】:

我正在制作一个 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 中取出可绘制图像并将其存储在我创建的对象中,但是无论我尝试什么,图像属性都保持为空。

提前致谢。

【问题讨论】:

  • stackoverflow.com/questions/27394016/… 这个线程展示了你如何完成你所描述的......但如果你正在寻找一个简单的缓存机制,Glide / Picasso 会在幕后为你做这件事。

标签: android bitmap kotlin drawable


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-06-06
    • 2016-03-02
    • 2012-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多