2016-03-01 1 views
8

Я загружаю изображение из базы данных mysql с помощью Picasso в пользовательское listview. Изображение загружается, когда URL-адрес передается напрямую, но когда я назначаю URL-адрес строке и передаю его, он выдает исключение, поскольку путь не должен быть пустым.java.lang.IllegalArgumentException: Путь не должен быть пустым в Picasso

String Image = md.Image; 

строка Изображение содержит http://example.com/image.jpg

Я передаю в Picasso, как показано ниже.

Picasso.with(view.getContext()) 
.load(Image) 
.into(iview);               

Когда я прохожу, как это я получаю java.lang.IllegalArgumentException: Путь не должен быть пустым. Я пробовал вышеуказанный шаг, как показано ниже, но изображение не загружается.

Picasso.with(view.getContext()) 
.load(new File(Image)) 
.into(iview); 

Что не так с вышеуказанной декларацией?

+1

В соответствии с ошибкой 'Image' не имеет значения null. Вы уверены, что у вас есть URL? – Rohit5k2

+0

Удалось ли вам решить эту проблему? Я не чувствую, что ни один из ответов ниже не дает правильного ответа. –

+0

Не пытайтесь открыть ссылку. Это NSFW. –

ответ

0

Я думаю, что ваш md.Image возвращает пустую строку. Так что попробуйте прямо поставить image url в picasso, как это:

Picasso.with(view.getContext()) 
.load(" http://xxx.xxx.com/images/New%20folder/Desert.jpg.") 
.into(iview); 

Надеется, что это работает.

17

У меня была аналогичная проблема. Просто проверьте, пустая строка url или нет. если он пуст, укажите изображение по умолчанию или нагрузку с URL-адреса. Надеюсь это поможет.

if (image.isEmpty()) { 
    iview.setImageResource(R.drawable.placeholder); 
} else{ 
    Picasso.with(_c).load(image).into(iview); 
    }