2016-03-01 38 views
8

Załaduję obraz z mysql DB, używając Picasso do niestandardowego widoku list. Obraz jest ładowany, gdy adres URL jest przekazywany bezpośrednio, ale kiedy przypisuję URL do napisu i przekazuję go, to zgłasza wyjątek mówiąc, że ścieżka nie może być pusta.java.lang.IllegalArgumentException: Ścieżka nie może być pusta w Picasso

String Image = md.Image; 

ciąg Obraz zawiera http://example.com/image.jpg

jestem przekazując picasso jak poniżej.

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

Kiedy mijam tak Dostaję java.lang.IllegalArgumentException: Ścieżka nie musi być pusty. Próbowałem powyższego kroku jak poniżej, ale obraz się nie ładuje.

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

Co jest nie tak z powyższą deklaracją?

+1

Zgodnie z błędem "Obraz" jest puste, a nie puste. Czy na pewno ma to adres URL? – Rohit5k2

+0

Czy udało Ci się rozwiązać ten problem? Uważam, że żadna z poniższych odpowiedzi nie daje właściwej odpowiedzi. –

+0

Nie próbuj otwierać linku. To NSFW. –

Odpowiedz

0

Myślę, że Twój md.Image zwraca pusty ciąg. Więc spróbuj bezpośrednio umieścić image url w picasso tak:

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

Nadzieję, że to działa.

17

Miałem podobny problem. Sprawdź, czy twój ciąg URL jest pusty, czy nie. jeśli jest pusty, podaj domyślny obraz lub ładuj z adresu URL. Mam nadzieję że to pomoże.

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