Picasso ne peut pas charger les images pour certaines URL (pas de caractères spéciaux)
Je suis à l'aide de Picasso à charger des images en ligne dans une listView. Le problème est que, si certaines des images sont correctement chargé, certains tout simplement disparaître.
Réussie (à L'image de marque est correctement affiché):
Échec (pas de l'image de marque est montré, a échoué):
L'ImageView disparaît quand il échoue. Voici mon code:
Picasso.with(mContext)
.load(UrlEncoder.encode(interiorDesign.getBrand_image_url()))
.config(Bitmap.Config.RGB_565)
.error(R.drawable.blank)
.fit()
.centerInside()
.into(holder.brand);
Voici mon .fichier xml:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="90dp"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:layout_alignParentLeft="true"
android:gravity="center_vertical"
android:orientation="horizontal">
<RelativeLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:paddingRight="10dp">
...
</RelativeLayout>
<ImageView
android:layout_width="200dp"
android:layout_height="90dp"
android:paddingBottom="10dp"
android:id="@+id/partial_interior_design_brand" />
</LinearLayout>
J'ai vérifié qu'il échoue parce qu'il attrape une erreur de Picasso erreur() la méthode.
Ici est le lien de l'échec.
Ici est un autre échec de lien.
Ici est un lien réussi.
Le problème se présente à moi à plusieurs reprises. Et je soupçonne que le problème se trouve avec ajustement() et centerInside() les méthodes, car après je supprimer ces deux méthodes, le problème est résolu. Pourtant, sans ces deux méthodes, mes images ne sont tout simplement pas s'adapter à la taille.
Je l'ai testé. Il ne fonctionne pas. Je suis passé à l'Image Universelle de Chargeur et le problème est résolu, enfin. Je ne sais pas quel est le problème avec Picasso. Je rencontre ce genre de problème de beaucoup.
Eh bien vous êtes passé à une meilleure bibliothèque 🙂
Je pense que je voudrais essayer de l'UIL dans mon prochain projet. Mais pour ce projet, car il est dans sa phase finale, je suis inquiet de cachés d'autres bugs que je n'ai pas envie de faire un geste en ce moment. Toute autre suggestion?
pouvez-vous me donner l'url de l'image qui ne s'affiche pas.
OriginalL'auteur Derekyy | 2015-02-10
Vous devez vous connecter pour publier un commentaire.
Hey essayez juste de concatanate votre url "http://". Pour une raison quelconque picassa ne se charge pas l'image sans http://.
Donc, juste essayer avec autre chose
OriginalL'auteur msamardzic
Je suis en utilisant Picasso de cette façon et il a toujours charger mes images:
Ma mise en page:
OriginalL'auteur Juanjo Vega
En plus de la commutation de l'Image Universelle de Chargeur, j'ai trouvé une autre solution pour ce faire, en utilisant la méthode Transform() de Picasso, et de spécifier le targetHeight de l'image bitmap à la hauteur de l'ImageView. Depuis CenterInside signifie simplement que le bitmap doit être entièrement à l'intérieur de l'imageView, j'ai aussi vérifier si la targetWidth (après mise à l'échelle) est supérieure à la largeur de l'imageView. Si oui, j'utilise le targetWidth comme le point de référence au lieu de targetHeight.
Edit:
Après essais, j'ai trouvé que cette méthode ne fonctionne pas dans certains cas. Toujours de trouver la solution.
OriginalL'auteur Derekyy
J'ai eu le même problème comme vous,
quelques images que je peux charger correct, les autres n'est pas, comme :
"http://www.clipartkid.com/images/16/red-circle-clip-art-at-clker-com-vector-clip-art-online-royalty-rI83Ye-clipart.png"
"http://i.imgur.com/awsT6sL.png"
Ils sont identiques, mais différents nom de l'url.
Il est préférable que vous téléchargez à une tierce-partie téléchargement du site et de la charge de lien direct à votre application afin d'éviter le problème.
OriginalL'auteur Huy Tower
pas besoin d'utiliser UrlEncoder
simplement la Chaîne de caractères de l'URL
OriginalL'auteur Aldi Renaldi Gunawan