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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  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?

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