Как установить заполнитель, если изображение пустое? - PullRequest
0 голосов
/ 07 февраля 2020

Я получаю изображение с сервера и использую Picasso, чтобы установить его в ImageView. Изображение может быть нулевым, поэтому я использую let. Но когда изображение ноль, я получаю ошибку. Как я могу использовать let для установки заполнителя, если изображение пустое? Моя функция:

contactsModel.images?.let { url ->
       Picasso.with(itemView.context).load(url)
       .placeholder(R.drawable.ic_person_placeholder)
       .into(mContactIcon) }

Моя ошибка:

java.lang.IllegalArgumentException: Path must not be empty.
        at com.squareup.picasso.Picasso.load(Picasso.java:297)

Ответы [ 2 ]

0 голосов
/ 07 февраля 2020

Есть много способов, но вы можете просто проверить, если URL пуст. затем используйте изображение из drawable и добавьте в свой просмотр изображения. используйте что-то вроде этого -

if (url.isEmpty()) {
   iview.setImageResource(R.drawable.placeholder);
} else{
    Picasso.get().load(url).into(iview);
  }
0 голосов
/ 07 февраля 2020

Заполнитель используется для хранения изображения для сетевого изображения. Если вы хотите использовать изображение-заполнитель при ошибке загрузки изображения в виде, любезно используйте его с вызовом error.

.error(R.drawable.ic_person_placeholder)

, как показано в ответе https://futurestud.io/tutorials/picasso-placeholders-errors-and-fading

...