2

J'ai un problème. J'essaie de récupérer une image à partir d'une source en ligne et de définir l'image dans le ImageView. Cependant, je ne peux pas faire cela parce que je ne peux pas lier mon ImageView au sein du ListView car il renvoie un NullPointerException. Je me rends compte que je dois utiliser VieWBinder pour définir l'image dans le ImageView dans le ListView.
Actuellement, j'utilise la classe ImageLoader de here ainsi que la classe ViewBinder de here.
Ceci est mon ViewBinder Classe:Impossible de définir l'image dans ImageView à partir d'un ListView à l'aide de SimpleAdapter, ViewBinder et Asynctask

SearchResults sr = new SearchResults(); 
ImageDownloader imageDownloader = new ImageDownloader(); 

@Override 
public boolean setViewValue(View view, Object data, String textRepresentation) { 
    if (view instanceof ImageView && data instanceof Bitmap) { 
    // TODO Auto-generated method stub 
     for (int i = 0; i < sr.listData.size(); i++) { 
      String imageISBN = sr.listData.get(i).get("coverImage"); 
      ImageView iv = (ImageView) view; 
      Bitmap bm = (Bitmap) data; 
      imageDownloader.download(imageISBN,iv); 
      //iv.setImageBitmap(bm); 
      return true; 
     } 
    } 
    return false; 
} 

SearchResults est une classe où je suis arrivé le listData à partir de laquelle contient des données comme l'URL pour les images. Comment puis-je utiliser la classe ImageLoader pour insérer l'image téléchargée dans le ImageView au sein du ListView en utilisant ViewBinder?

* Side Note: Il me donnerait une erreur "05-12 13: 16: 37,195: INFO/System.out (736): resolveUri a échoué sur la mauvaise uri bitmap: http://lib.syndetics.com/index.aspx?isbn=9780137081851/SC.GIF&client=tpoly&type=xw12 " et *

Répondre

0

Définir une balise pour la vue d'image indique par exemple l'URL de l'image. Et dans votre onPostExecute, récupérez la vue de l'image par la liste view.findViewByTag. Je ne suis pas d'accord en utilisant asynctask pour récupérer des images car il y aurait beaucoup d'asynctask si votre liste affiche beaucoup d'éléments de liste.

Questions connexes