Копировать Drawable из ImageView - PullRequest
0 голосов
/ 26 июня 2018

Я создаю приложение для Android, и часть приложения вызывает API Google для фотографий для определенных мест. Эти фотографии будут частью списка, и я хочу сделать так, чтобы после вызова 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 и сохранить его в объекте, который я создал, однако, независимо от того, что я пробую, свойство изображения остается нулевым.

Заранее спасибо.

1 Ответ

0 голосов
/ 26 июня 2018

Не храните массив рисованных объектов, это слишком много данных, чтобы попытаться сделать это таким образом. Просто сохраните массив строк ref, которые вы используете, чтобы загрузить это изображение, и перезагрузите изображение, используя строку ref в любом месте, где вам нужно. Пакет Glide уже кэширует изображения, поэтому вы просто передаете ему свою ссылку String, и она только загружает изображение снова, если это необходимо.

...