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

Composants graphiques Android Discussion :

hashmap et listview


Sujet :

Composants graphiques Android

  1. #1
    Futur Membre du Club
    Inscrit en
    Février 2011
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 4
    Par défaut hashmap et listview
    Bonjour à tous!

    J'essaye depuis deux jours d'utiliser une hashmap avec ma lisview.
    Je m'explique un peu plus:
    Je suis entrain de développer une application qui permet de faire l'appel dans un cours. Donc j'ai une base de donnée mysql à partir de laquelle je récupère le nom et l'id de chaque élève. Le tout est encodé en Json par PHP et j'ai une méthode java qui parse le Json, et mets dans une hashmap l'id (int) et le nom de chaque élève et renvoie la dite hasmap.

    Le soucis c'est que j'aimerai afficher une liste des noms d'élève (avec checkboxs) SANS les id (d'où la nécessité d'utiliser une hashmap).

    Autant j'avais dans un premier temps utilisé un arraylist, ce qui marchait très bien, autant là, je n'ai aucune idée de comment utiliser le setadapter avec une hasmap...

    Voila ma fonction pour récupérer le code à partir du serveur:
    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
    private String getPage() {
        	String str = "***";
     
            try
        	{
     
        		HttpClient hc = new DefaultHttpClient();
        		HttpPost post = new HttpPost("http://192.168.1.83/pouet.php");
        		List<NameValuePair> pairs = new ArrayList<NameValuePair>();
        		post.setEntity(new UrlEncodedFormEntity(pairs));
        		HttpResponse rp = hc.execute(post);
     
        		if(rp.getStatusLine().getStatusCode() == HttpStatus.SC_OK)
        		{
        			str = EntityUtils.toString(rp.getEntity());   			    			
        		}
        	}catch(IOException e){
        		e.printStackTrace();
        	}  
     
        	return str;
        }
    ainsi que ma fonction pour parser le résultat:
    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
     public ArrayList<String> sampleJsonParser(String jsonString) {
        	ArrayList <String> arrList = new ArrayList<String>();
     
        	try {
            	Context context = getApplicationContext();
                JSONObject jObject = new JSONObject(jsonString);
                for (int i = 0; i < jObject.length(); i++) 
                {  
                    JSONObject jo = jObject.getJSONObject(String.valueOf(i));  
                    String nom = jo.getString("nom_eleve");
                    arrList.add(nom);
                }
     
          } catch (JSONException e) {
                e.printStackTrace();
     
            }
          return arrList;
     
        }
    ensuite je fais ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    lv1 = (ListView) findViewById(R.id.listView1);
     
            cp=getPage();;
            lv1.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_multiple_choice , sampleJsonParser(cp)));
            lv1.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
    voila, donc ça ça marche, maintenant comment adapter le "setadapter" pour utiliser une hashmap?


    Merci d'avance pour toutes vos réponse

  2. #2
    Rédacteur
    Avatar de MrDuChnok
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2002
    Messages
    2 112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 112

  3. #3
    Futur Membre du Club
    Inscrit en
    Février 2011
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 4
    Par défaut
    Ok je creuse de ce coté là. Merci bien
    Je repasse dès que je suis arrivé à créer ma listview personalisée.

  4. #4
    Futur Membre du Club
    Inscrit en
    Février 2011
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 4
    Par défaut
    Je suis bien arrivé à faire ma listview personnalisée (merci). Exit la hashmap donc, j'ai créé une classe "personne" que j'instancie dans mon parseur et que je passe en argument lorsque j'instancie mon adapter.

    J'aimerai maintenant récupérer la liste de toutes les checkboxs cochées... et la je plante à nouveau...

    La méthode "getCheckedItemPositions()" ne fonctionne plus, c'est le drame... Dois-je/puis-je la redéfinir dans l'adapter?

  5. #5
    Futur Membre du Club
    Inscrit en
    Février 2011
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 4
    Par défaut
    J'y suis enfin arrivé!

    Bon effectivement, le getCheckedItemPositions() ne marche pas: j'ai dû ruser^^

    J'ai ajouté une propriété "checked" à ma class Eleve puis j'ai rajouté un onclicklistener dans l'adapter qui change ce booléen.
    Ainsi, je n'ai plus qu'a parcourir mes objets pour savoir lesquels sont checkés.

    Voila, je ne sais ni si ce que je dis est clair, ni si c'est la meilleure solution. Néanmoins, c'est la seule que j'ai trouvé pour l'instant.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Kylix] prob listview
    Par sdoura2 dans le forum EDI
    Réponses: 1
    Dernier message: 22/10/2002, 21h37
  2. Une gauge dans un ListView
    Par Thom@s dans le forum Composants VCL
    Réponses: 3
    Dernier message: 22/10/2002, 10h32
  3. listview ??
    Par Galdarion dans le forum Composants VCL
    Réponses: 2
    Dernier message: 12/09/2002, 17h02
  4. ListView->Items->Clear() !!! Qques probl de perf
    Par Nicolas_a69 dans le forum C++Builder
    Réponses: 3
    Dernier message: 30/08/2002, 11h49
  5. ListView
    Par SnickeursMan dans le forum Composants VCL
    Réponses: 2
    Dernier message: 14/08/2002, 10h42

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