IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Problème de rafraichissement d'une ExpandableListView


Sujet :

Android

  1. #1
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2012
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2012
    Messages : 46
    Par défaut Problème de rafraichissement d'une ExpandableListView
    Bonjour,

    J'utilise actuellement une ExpandableListView dans mon application qui est remplie par un adapter personnalisé héritant de BaseExpandableListAdapter.

    Dans la méthode onCreate de mon activité j'effectue le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    listeOptions = (ExpandableListView) findViewById(R.id.liste_options_traitement);
     
    adapterListeOptions = new AdapterListeOptions(this);
     
    listeOptions.setAdapter(adapterListeOptions);
    Lors d'un clic sur un bouton de mon interface je modifie le contenu de mon adapter et j'appelle ensuite la méthode notifyDataSetChanged().

    Mon problème se situe à ce niveau là, les nouvelles données de mon adapter sont bien ajoutées à mon ExpandableListView mais les anciennes données sont toujours présentes. J'ai essayé diverses méthodes pour tenter de supprimer ces données(comme removeAllViews() par exemple ou encore de créer une nouvelle instance de mon adapter) mais sans succés.

    Quelqu'un aurait-il la solution ?

    En vous remerciant par avance de l'attention que vous pourrez porter à mon problème,

    Nylwen

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2012
    Messages : 149
    Par défaut
    je sais pas si ça marche avec les expandableListView mais pour les ListView normal tu as:

  3. #3
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2012
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2012
    Messages : 46
    Par défaut
    Merci pour ta réponse.

    J'ai essayé la méthode invalidate() mais malheureusement ça ne fonctionne pas non plus.

  4. #4
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2012
    Messages : 149
    Par défaut
    tu te sert de quoi pour remplir ton adapter une liste?

  5. #5
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2012
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2012
    Messages : 46
    Par défaut
    Non pas exactement je remplis mon adapter dans la méthode getChildView() qui est une méthode redéfinie.

    Je te mets une partie de mon code ci-dessous :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
     
            @Override
    	public View getChildView(int parentPosition, int childPosition, boolean isLastChild, View convertView, ViewGroup parent) 
    	{
    		LinearLayout disposition = new LinearLayout(contexte);
     
    		disposition.setOrientation(VERTICALE);
     
    		if(parentPosition == 0) 
    		{
    			for(ImageProduits produit : Sauvegarde.getImageProduits())
    			{
    				if(produit.getCategorie().equalsIgnoreCase("blush"))
    				{
    					LinearLayout panneauPrincipal = new LinearLayout(contexte);
     
    					panneauPrincipal.setOrientation(HORIZONTALE);
     
    					ImageView image = new ImageView(contexte);
     
    					image.setImageBitmap(produit.getImage());
     
    					image.setPadding(10, 10, 10, 10);
     
    					panneauPrincipal.addView(image);
     
    					LinearLayout panneauSecondaire = new LinearLayout(contexte);
     
    					panneauSecondaire.setOrientation(VERTICALE);
     
    					int r = Integer.parseInt(produit.getCouleur().substring(0, 2), Character.FORMAT);
     
    					int g = Integer.parseInt(produit.getCouleur().substring(2, 4), Character.FORMAT);
     
    					int b = Integer.parseInt(produit.getCouleur().substring(4, 6), Character.FORMAT);
     
    					Bitmap pastille = Bitmap.createBitmap(40, 40, Bitmap.Config.ARGB_8888);
     
    					Canvas canevas = new Canvas(pastille);
     
    					canevas.drawRGB(r, g, b);
     
    					ImageView couleur = new ImageView(contexte);
     
    					couleur.setImageBitmap(pastille);
     
    					couleur.setPadding(10, 10, 10, 10);
     
    					panneauSecondaire.addView(couleur);
     
    					TextView nomCouleur = new TextView(contexte);
     
    					nomCouleur.setText(produit.getNomCouleur());
     
    					nomCouleur.setPadding(10, 10, 10, 10);
     
    					panneauSecondaire.addView(nomCouleur);
     
    					TextView marque = new TextView(contexte);
     
    					marque.setText(produit.getMarque());
     
    					marque.setPadding(10, 10, 10, 10);
     
    					panneauSecondaire.addView(marque);
     
    					panneauPrincipal.addView(panneauSecondaire);
     
    					disposition.addView(panneauPrincipal);
    				}
    			}
    		}
     
    		if(parentPosition == 1) 
    		{
    			// Méthode de remplissage identique.
    		}
     
    		if(parentPosition == 2) 
    		{
    			// Méthode de remplissage identique.
    		}
     
    		return disposition;
    	}

  6. #6
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2012
    Messages : 149
    Par défaut
    tu veux que quand on clic sur un élément la liste se vide et se reremplit avec les éléments qui appartiennent à la sous catégorie?

  7. #7
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2012
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2012
    Messages : 46
    Par défaut
    Non je ne mets pas de listener sur les éléments de ma liste. Je veux simplement parvenir à supprimer le contenu de ma liste quand je clique sur un bouton (ce qui ne marche pas) et la recharger ensuite avec les nouvelles valeurs (ça par contre c'est fonctionnel).

    Pour résumer j'aimerais faire maListe.clear() mais la méthode n'existe pas.

  8. #8
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2012
    Messages : 149
    Par défaut
    et mettre ton adapter a null avant de le reremplir t'as essayé?

  9. #9
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2012
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2012
    Messages : 46
    Par défaut
    Non je n'avais pas pensé à cette solution je vais aller essayer.

  10. #10
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Par défaut
    Tu as créé ton propre adapter, donc crée la méthode pour vider la liste et fait un appel à notifyDataChangeSet() (si je ne me trompe pas dans le nom de la méthode).
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  11. #11
    Expert confirmé

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Par défaut
    Tu as créé ton propre adapter, donc crée la méthode pour vider la liste et fait un appel à notifyDataChangeSet() (si je ne me trompe pas dans le nom de la méthode).
    C'est pas loin

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public void notifyDataSetChanged ()
    Cette méthode permet à ton adapter par forcément eclui que tu as créer mais n'importe lequel de se mettre à jour,

    L'adapter est le contenu de ta liste donc sur les modifications , c'est bien celui ci qu'il faut mettre à jour et non ton objet liste.

    J'ai essayé la méthode invalidate() mais malheureusement ça ne fonctionne pas non plus.
    Ceci est normal la fonction invalidate() permet seulement de redessiner la liste et non de la mettre à jour comme expliqué ci dessus, c'est le contenu qu'il faut actualiser via la méthode notifyDataSetChanged().

    Je te mets le lien vers la doc officielle :
    http://developer.android.com/referen...taSetChanged()


    Edit :

    Après relecture plus attentive du sujet
    C'est quoi cette variable
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ImageProduits produit : Sauvegarde.getImageProduits()
    Ou est ce que tu l'as mets à jour ?

    L'idée de faire un clear puis de redessiner ton adapter est bonne mais normalement seul la fonction notifyDataSetChanged suffit.

    Si cela ne marche pas c'est que ta liaison entre ton adapter et ta liste mis à jour n'est pas bonne, ou alors comment tu récupères les informations dans ton
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public View getChildView(int parentPosition, int childPosition, boolean isLastChild, View convertView, ViewGroup parent)
    Pourrais tu nous montrer comment tu mets à jour ta liste de ton adapter et à quoi correspond la variable Sauvegarde ?

    Merci

  12. #12
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2012
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2012
    Messages : 46
    Par défaut
    Je m'excuse pour le temps de réponse j'ai été affecté à un autre projet pendant quelques jours. Déjà merci pour vos réponses.

    @Hizin :

    J'ai en effet essayé de créer ma propre méthode pour vider la liste. J'appelle cette méthode entre le changement des données et la méthode notifyDataSetChanged().

    Voici le code de ma méthode :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
    public void clear()
    {
            disposition.removeAllViews();
     
    	// disposition.removeAllViewsInLayout();
     
    	disposition = null;
    }
    J'ai essayé les deux solutions sans succès. Il faut savoir que disposition est le LinearLayout de la méthode getChildView() que j'ai transformé en attribut pour l'occasion dans lequel j'ajoute tout mes éléments graphiques.

    @Feanorin :

    Sauvegarde est une classe contenant des méthodes statiques où je stocke certaines de mes données, certes c'est très sale comme manière de programmer mais ce n'est pas l'important pour l'instant.

    La variable Sauvegarde.getImageProduits() représente donc une List<ImageProduits>, cette variable est bien mise à jour le problème ne vient pas de là. En effet les nouveaux éléments graphique que je crée à partir de cette liste sont bien affiché lors de l'appel à la méthode notifyDataSetChanged() donc la liste est bien mise à jour. Mon problème vient du fait que les anciens éléments graphiques déjà présents dans la liste ne sont pas effacés.

    Voici le code où je mets à jour ma liste (j'ai volontairement supprimé les lignes de code ne nous intéressant pas) :

    Quand je clique sur le bouton de mon menu pour actualiser mon ExpandableListView :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
     
    @Override
    public boolean onMenuItemClick(MenuItem item) 
    {
    	// Les deux méthodes suivantes permettent de mettre à jour plusieurs
            // variables dont Sauvegarde.getImageProduits().
     
    	genererLooks(numeroLook);
     
    	recupererLook(numeroLook);
     
            // Cette méthode fait appel à une autre classe détaillée plus loin pour
            // télécharger les Bitmaps que j'affiche dans mon ExpandableListView.
     
    	recupererImagesProduit();
     
            adapterListeOptions.clear();
     
    	adapterListeOptions.notifyDataSetChanged();
     
    	return true;
    }
    La classe permettant de télécharger les Bitmaps :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
     
     
    public class TelechargementProduits extends AsyncTask<String, Void, Object>
    {
    	@Override
    	protected Object doInBackground(String... params) 
    	{
    		try
    		{
    			boolean resultat = telechargerProduits(params[0]);
    		}
    		catch (Exception e) 
    		{
    			e.printStackTrace();
    		}
     
    		// ...
    	}
     
    	private boolean telechargerProduits(String url)
    	{
    		List<Produit> listeFinale = new ArrayList<Produit>();
     
    		try
    		{
    			for(Produit produit : Sauvegarde.getImageProduits())
    			{
    				String adresse = (url + "images" + "/" + "product" + "/" + produit.getNom());
     
    				URL connexion = new URL(adresse);
     
    				URLConnection telechargement = connexion.openConnection();
     
    				InputStream lecture = telechargement.getInputStream();
     
    				BufferedInputStream buffer = new BufferedInputStream(lecture);
     
    				BitmapFactory.Options options = new BitmapFactory.Options();
     
    			        options.inInputShareable = true;
     
    			        options.inPurgeable = true;
     
    			        options.inSampleSize = 2;
     
    				Bitmap photo = BitmapFactory.decodeStream(buffer, null, options);
     
    		                produit.setImage(photo.copy(Bitmap.Config.ARGB_8888, true));
     
    				listeFinale.add(produit);
     
    				buffer.close();
     
    				lecture.close();
     
    				photo.recycle();
     
    				photo = null;
    			}
    		}
    		catch (Exception e) 
    		{
    			e.printStackTrace();
     
    			return false;
    		}
     
    		Sauvegarde.setImageProduits(listeFinale);
     
    		return true;
    	}
    }
    La méthode getChildView est ensuite appellée automatiquement et c'est là que je remplis mon ExpandableListView. Je l'ai déjà donné plus haut mais je vous la remets :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
     
     
    @Override
    public View getChildView(int parentPosition, int childPosition, boolean isLastChild, View convertView, ViewGroup parent) 
    {
    	LinearLayout disposition = new LinearLayout(contexte);
     
    	disposition.setOrientation(VERTICALE);
     
    	if(parentPosition == 0) 
    	{
    		for(ImageProduits produit : Sauvegarde.getImageProduits())
    		{
    			if(produit.getCategorie().equalsIgnoreCase("blush"))
    			{
    				LinearLayout panneauPrincipal = new LinearLayout(contexte);
     
    				panneauPrincipal.setOrientation(HORIZONTALE);
     
    				ImageView image = new ImageView(contexte);
     
    				image.setImageBitmap(produit.getImage());
     
    				image.setPadding(10, 10, 10, 10);
     
    				panneauPrincipal.addView(image);
     
    				LinearLayout panneauSecondaire = new LinearLayout(contexte);
     
    				panneauSecondaire.setOrientation(VERTICALE);
     
    				int r = Integer.parseInt(produit.getCouleur().substring(0, 2), Character.FORMAT);
     
    				int g = Integer.parseInt(produit.getCouleur().substring(2, 4), Character.FORMAT);
     
    				int b = Integer.parseInt(produit.getCouleur().substring(4, 6), Character.FORMAT);
     
    				Bitmap pastille = Bitmap.createBitmap(40, 40, Bitmap.Config.ARGB_8888);
     
    				Canvas canevas = new Canvas(pastille);
     
    				canevas.drawRGB(r, g, b);
     
    				ImageView couleur = new ImageView(contexte);
     
    				couleur.setImageBitmap(pastille);
     
    				couleur.setPadding(10, 10, 10, 10);
     
    				panneauSecondaire.addView(couleur);
     
    				TextView nomCouleur = new TextView(contexte);
     
    				nomCouleur.setText(produit.getNomCouleur());
     
    				nomCouleur.setPadding(10, 10, 10, 10);
     
    				panneauSecondaire.addView(nomCouleur);
     
    				TextView marque = new TextView(contexte);
     
    				marque.setText(produit.getMarque());
     
    				marque.setPadding(10, 10, 10, 10);
     
    				panneauSecondaire.addView(marque);
     
    				panneauPrincipal.addView(panneauSecondaire);
     
    				disposition.addView(panneauPrincipal);
    			}
    		}
    	}
     
    	if(parentPosition == 1) 
    	{
    		// Méthode de remplissage identique.
    	}
     
    	if(parentPosition == 2) 
    	{
    		// Méthode de remplissage identique.
    	}
     
    	return disposition;
    }
    Comme tu me l'as demandé je t'ai mis tout le code mais ce que je veux c'est juste une implémentation à la méthode que j'ai appeler clear() de mon adapter pour ne garder dans mon ExpandableListView que les derniers éléments graphiques.

    Par avance merci,

    Nylwen

  13. #13
    Expert confirmé

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Par défaut
    Sauvegarde est une classe contenant des méthodes statiques où je stocke certaines de mes données, certes c'est très sale comme manière de programmer mais ce n'est pas l'important pour l'instant.
    Si cela est important car tu va te trimballer un gros problème entre donnée utile de l'adapter et ces données là. Pour se compliquer la vie, il n'y a pas mieux :/

    De plus

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public View getChildView(int parentPosition, int childPosition, boolean isLastChild, View convertView, ViewGroup parent) 
    {
    	LinearLayout disposition = new LinearLayout(contexte);
    Cela n'est pas propre le getChildView te renvoie la View courante (nulle ou rempli). Ce qu'il se passe dans ton code est que tu n'utilise jamais cette view du coup tu as construit une à chaque fois.
    De ce fait, tu ne sais même pas ce que tu as réellement dans ton adapter :/.

  14. #14
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2012
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2012
    Messages : 46
    Par défaut
    Merci pour ta réponse.

    Donc si je comprends bien je dois réutiliser la View courante de la méthode getChildView().

    Serait-il possible de me fournir un exemple d'implémentation propre de cette méthode ?

  15. #15
    Expert confirmé

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Par défaut
    Pas de Souci

    Un exemple avec la fonction GetView :
    http://mickael-lt.developpez.com/tut...iser-listview/

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    public View getView(int position, View convertView, ViewGroup parent) {
      LinearLayout layoutItem;
      //(1) : Réutilisation des layouts
      if (convertView == null) {
      	//Initialisation de notre item à partir du  layout XML "personne_layout.xml"
        layoutItem = (LinearLayout) mInflater.inflate(R.layout.personne_layout, parent, false);
      } else {
      	layoutItem = (LinearLayout) convertView;
      }
     
      //(2) : Récupération des TextView de notre layout      
      TextView tv_Nom = (TextView)layoutItem.findViewById(R.id.TV_Nom);
      TextView tv_Prenom = (TextView)layoutItem.findViewById(R.id.TV_Prenom);
     
      //(3) : Renseignement des valeurs       
      tv_Nom.setText(mListP.get(position).nom);
      tv_Prenom.setText(mListP.get(position).prenom);
     
      //(4) Changement de la couleur du fond de notre item
      if (mListP.get(position).genre == Personne.MASCULIN) {
        layoutItem.setBackgroundColor(Color.BLUE);
      } else {
      	layoutItem.setBackgroundColor(Color.MAGENTA);
      }
     
      //On retourne l'item créé.
      return layoutItem;

  16. #16
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2012
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2012
    Messages : 46
    Par défaut
    Merci beaucoup je vais regarder ça.

Discussions similaires

  1. Problème de rafraichissement d'une interface SWT
    Par franckB dans le forum SWT/JFace
    Réponses: 2
    Dernier message: 20/02/2008, 15h43
  2. Réponses: 1
    Dernier message: 03/05/2007, 11h43
  3. [AJAX] Rafraichissement d'une liste en autocomplétion
    Par emilie1t dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 30/03/2007, 15h27
  4. [VB6]Problème de rafraichissement d'une combobox
    Par bb62 dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 27/01/2006, 16h58
  5. Problème de "rafraichissement" dans une edit box e
    Par X-K4l1 dans le forum Windows
    Réponses: 1
    Dernier message: 23/08/2005, 11h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo