• Home
  • Youzik
  • Papystreaming
  • Darknet
  • Libertyland
  • Cacaoweb
  • GG maps
  • Yggtorrent
  • Zone téléchargement

Grimag

  • Accueil
  • Catégories
    • Smartphone
    • High Tech
    • Business
    • Web
    • Appli Jeux Vidéo
    • Shopping
  • Android c’est quoi ?
  • Nous Contacter
  • Nos comparatifs
    • Drone avec caméra
    • Clavier d’ordinateur
    • Onduleur
    • GPS
    • Répéteur WiFi

Développer une listview(liste déroulante) avec des images dans les items



Dans un précédent tuto Développer une listview personnalisée avec des fichiers xml,j’ai développé une listview personnalisée en appellant des fichiers xml. Je vais dans celui-ci intégré des images dans ma listview.

Premier fichier celui de ma listview que j’appelle liste1.xml




         
     

Mon fichier xml pour chaque item je crée un tableau pour mettre mon image et mon texte sur la même ligne.



    
    
	
 
     

    
    />
    
    

je crée ensuite une class listAvecImage qui est une extension de SimpleAdapter


public class listAvecImage  extends SimpleAdapter{
 
  //la ressource de l'image
  private int Resourceid;
//identifiant de l'image dans le xml
private  int[] Ressourceidxml;

  //le constructeur
 public listAvecImage  (Context context,
            ArrayList> data, 
            int resource,
            String[] from,
            int[] to, 
            int idxml,
            int[] res2) { 
                super(context, data, resource, from, to); 
                 Resourceid =res2;
                 Ressourceidxml= idxml;
        } 
    
 public View getView(int position, View convertView, ViewGroup parent) { 
        
    	View v = super.getView(position, convertView, parent); 
       //ressource image dans le xml
        ImageView imageView = (ImageView)v.findViewById(Resourceid);
       //affectation image
          imageView.setImageResource(Ressourceidxml[position]);

        return v; 
    }
}

Et dans la classe ou la listview s’affiche on rajoute le code suivant


setContentView(R.layout. liste1);
mPostList= (ListView) findViewById(android.R.id.list)
 ArrayList> mylist = new ArrayList>();
   			HashMap map = new HashMap();

map.put("from", "essati");	    		
 mylist.add(map);
 map = new HashMap();

SimpleAdapter mSchedule = new listAvecImage (this.getContext(), mylist, R.layout.viewitem2,
       new String[] {"from"}, new int[] {R.id.text},R.id.img, new int[]{R.drawable.gmail,R.drawable.facebook,R.drawable.twitter,R.drawable.delicious});  
mPostList.setAdapter(mSchedule);

Résultat
listwiew4

Il est temps de mettre à profit les tutoriels d’Android France:
Passez à la vitesse supérieure et investissez quelques dizaines d’euros pour acquérir les connaissances qui vous feront gagner de l’argent avec vos applications rendez-vous sur notre boutique Android-france pour ces formations en vidéo

Juin 22, 2009Gnakouri Danon

Ces articles pourraient vous intéresser :

  • Customiser sa listview avec des feuilles de styleCustomiser sa listview avec des feuilles de style
  • Développer sa Listview personnalisée sous androidDévelopper sa Listview personnalisée sous android
  • Développez une application pour android étape 15 (Rajouter une listview dans mon formulaire pour aficher les ingredients)Développez une application pour android étape 15 (Rajouter une listview dans mon formulaire pour aficher les ingredients)
  • Développez une application pour android étape 17 (Interface pour génération automatique le planning des recettes)Développez une application pour android étape 17 (Interface pour génération automatique le planning des recettes)
  • Développer une listview personnalisée avec des fichiers xmlDévelopper une listview personnalisée avec des fichiers xml
  • Intercaler des entêtes  dans une listviewIntercaler des entêtes dans une listview
  • Développez une application pour android étape 20 (Appui long sous android pour supprimer des ingrédients)Développez une application pour android étape 20 (Appui long sous android pour supprimer des ingrédients)
  • Développez une application pour android etape 8 (Affichage d’une recette)Développez une application pour android etape 8 (Affichage d’une recette)
  • Développer votre application de réalité augmentée avec l’API de WikitudeDévelopper votre application de réalité augmentée avec l’API de Wikitude
  • Utiliser des onglets dans ses applications androidUtiliser des onglets dans ses applications android
  • Développez une application pour android etape 7 (Affichage de la liste des recettes)Développez une application pour android etape 7 (Affichage de la liste des recettes)
  • Utiliser l’accéléromètre d’android dans ses applicationsUtiliser l’accéléromètre d’android dans ses applications
  • Développement-Utiliser la liste de ses contacts dans ses applications AndroidDéveloppement-Utiliser la liste de ses contacts dans ses applications Android
  • Utiliser la camera dans vos applications androidUtiliser la camera dans vos applications android
  • Tuto – Faite parler votre Android Phone dans vos applicationsTuto – Faite parler votre Android Phone dans vos applications
  • Développez avec la plate forme Polymer de Google – TUTO 4 Polymer et fichier json part IDéveloppez avec la plate forme Polymer de Google – TUTO 4 Polymer et fichier json part I
  • Développez un splash screen pour vos applicationsDéveloppez un splash screen pour vos applications
  • Développez une application pour android étape 19 (Ajout de sous menu)Développez une application pour android étape 19 (Ajout de sous menu)
  • Passer des variables entre Activity sous androidPasser des variables entre Activity sous android
  • Créer son propre menu de lancement comme la home avec SlidingDrawerCréer son propre menu de lancement comme la home avec SlidingDrawer
  • Développez une application pour android étape 21 (Modifier un ingrédient avec une boite de dialogue)Développez une application pour android étape 21 (Modifier un ingrédient avec une boite de dialogue)
  • Développez une application pour android étape 14 (Récupérer les info de ma boite de dialogue)Développez une application pour android étape 14 (Récupérer les info de ma boite de dialogue)
  • Utiliser du code HTML dans ses applications androidUtiliser du code HTML dans ses applications android
  • Tuto utiliser le capteur GPS de son téléphone android dans ses applicationsTuto utiliser le capteur GPS de son téléphone android dans ses applications

Partager :

  • Cliquez pour partager sur Twitter(ouvre dans une nouvelle fenêtre)
  • Cliquez pour partager sur Facebook(ouvre dans une nouvelle fenêtre)
  • Cliquez pour partager sur Google+(ouvre dans une nouvelle fenêtre)
  • Cliquez pour partager sur Reddit(ouvre dans une nouvelle fenêtre)
  • Plus
  • Cliquez pour envoyer par e-mail à un ami(ouvre dans une nouvelle fenêtre)
  • Cliquer pour imprimer(ouvre dans une nouvelle fenêtre)
  • Cliquez pour partager sur Pinterest(ouvre dans une nouvelle fenêtre)
  • Cliquez pour partager sur Pocket(ouvre dans une nouvelle fenêtre)


La version mobile du site Flickr a été mise à jour pour AndroidAndroid live CD - Testez Android sur votre ordinateur
  • Rémi

    Cet exemple est bourré de fautes et vraiment galère à corriger…

  • Guy

    @Rémi: tu peux me dire ou tu as bloqué pour faire des corrections dans mon tuto merci

  • Rémi

    Tout d’abord je débute alors je vais essayer de bien expliquer.

    Il manque un ‘;’ et déclaration de type sur :
    mPostList= (ListView) findViewById(android.R.id.list)

    Sinon j’ai pas compris sur :
    int[] to,
    int idxml,
    int[] res2) {
    super(context, data, resource, from, to);
    Resourceid =res2;
    Ressourceidxml= idxml;

    Il y a l’air d’avoir en problème entre le fait que les int(res2) sont des ‘tableaux’ int[] et Resourceid =res2 et également le findViewById. Mais si l’on corrige d’un côté ça plante de l’autre.

    Sinon petite faute de frappe je pense, qui ne gène pas :
    map.put(“from”, “essati”);
    Ca devrait être essai nan ?

    Pareil pour l’icone gmail qui est écrit ‘gmai’ => R.drawable.gmai

    Merci

  • Guy

    @Rémi: merci je corrige

  • sangorys

    Est-ce que ce code marche ? Je n’arrive ni à le faire marcher, ni à le comprendre 🙁

    La fonction getView() n’est jamais appelée. Et pourquoi n’implémente-on pas la fonction setViewValue(View view, Object data, String textRepresentation) ?

    Merci de donner un peu d’éclaircissement… 😉

  • sangorys

    Oui, le code marche 🙂

    Non, je ne comprends pas pourquoi ça marche. :-/

    Merci pour ce tuto (pour info, j’ai trouvé le chapitre ListView de la formation vidéo incompréhensible et inadapté à niveau du lecteur. Domage, parce que le reste est en or)

  • sangorys

    En fin de compte, le code donné dans ce tuto ne marche pas. Les explications de Remi du 30 septembre 2009 à 10 h 02 min sont correctes : dommage que l’auteur ne les est pas pris en compte pour mettre à jour son tuto !!!

    🙁

  • _cresus

    Ce tuto est incroyablement mal fait. Ca me donne pas envie d’acheter leurs vidéos si c’est pareil !!

  • sangorys

    +1

    Dommage

    En ce qui me concerne, j’ai appris énormement de choses avec leur vidéo. Je partais de presque 0

  • Guy

    Bonjour à tous l’erreur de ce tuto vient de ces lignes que j’ai corrigé
    La correction
    ImageView imageView = (ImageView)v.findViewById(Resourceid);
    //affectation image
    imageView.setImageResource(Ressourceidxml[position]);

  • AndroGuy

    ouaip, tuto tout moisi
    qui ne marche pas entre autre pour le probleme de res2 evoqué

Gnakouri Danon

Co-fondateur du site Android france, senior lead developper, passionné de bière et de cigare cubain

22 juin 2009 Developpement, Tuto développementDeveloppement, listview657

2019 © Android-France
sponsored
loading Annuler
L'article n'a pas été envoyé - Vérifiez vos adresses e-mail !
La vérification e-mail a échoué, veuillez réessayer
Impossible de partager les articles de votre blog par e-mail.