voici le code pour picasso:
ImageView img = (ImageView)findViewById(R.id.product_image);
Picasso.with(this)
.load(_url)
.fit()
.into(img, new Callback() {
@Override
public void onSuccess() {
}
@Override
public void onError() {
}
});
voici la valeur de _url: http://kiagallery.ir/Images/Upload/Collection%20101/Spring%20101/d4a03b66dc7b46c694615c549b78b2e9.jpg
et voici le xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:layout_width="match_parent"
Android:layout_height="match_parent" >
<ImageView
Android:id="@+id/product_image"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content" />
<TextView
Android:id="@+id/product_name"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:textSize="13sp"
Android:layout_below="@id/product_image"/>
<TextView
Android:id="@+id/product_price"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:textSize="13sp"
Android:layout_below="@id/product_name"/>
</RelativeLayout>
comme vous pouvez le voir, il est possible d'accéder à l'image par le biais du navigateur, mais Picasso ne parvient pas à la charger. J'ai vérifié la fonction onError et elle ne s'est jamais appelée. Je suis vraiment perdu, toute aide serait la bienvenue.
MODIFIER: Lorsque j'attribue à 200dp une valeur fixe de width & height pour imageview, l'image est chargée, mais lorsque je la modifie en wrap_content, elle n'affiche pas l'image.
J'imagine que vous devriez pas appeler cette méthode fit()
dans Picasso pendant que votre ImageView
a sa largeur et sa hauteur définies par WRAP_CONTENT
.
Cette méthode attend que la ImageView
ait été mesurée et redimensionne l'image pour qu'elle corresponde exactement à sa taille. Alors que votre ImageView
a une taille définie par WRAP_CONTENT
, les méthodes getMeasuredWidth()
et getMeasuredHeight()
retournent apparemment 0, ce qui rend votre ImageView
invisible .
Ne pas oublier d'ajouter la permission de manifester
<manifest ...>
<uses-permission Android:name="Android.permission.INTERNET" />
Si vous utilisez networkPolicy (NetworkPolicy.OFFLINE), il est possible que vous n'ayez pas d'images en utilisant Picasso.
Je faisais face à un problème similaire dans lequel j'avais une ViewPager
d'images placées dans un plein écran DialogFragment
. Le même ViewPager fonctionnait parfaitement lorsqu'il était placé ailleurs et Picasso chargeait les images comme prévu. Mais uniquement lorsqu'elles sont placées dans la version complète DialogFragment
, certaines images apparaissent vierges. Il semblait que les images avaient été extraites avec succès du serveur et chargées dans la ImageView
, mais la ImageView
semblait toujours vide.
Aucune des réponses ci-dessus ou des discussions similaires n'a fonctionné pour moi.
Je suis donc passé à une autre grande bibliothèque appelée Glide . Il ressemble beaucoup à Picasso… .. En savoir plus ici et ici . Même si ce n'est peut-être pas la réponse la plus pertinente, ça vaut peut-être la peine de donner une chance à quelqu'un a été coincé avec un problème similaire.