Gabin Posté(e) 4 février 2011 Share Posté(e) 4 février 2011 (modifié) Bonsoir, Je souhaiterais pouvoir assigner une valeur à chaque item de mon Array List. Je m'explique. Disons que j'ai : strings.xml <string-array name="frandroidSpinner"> <item value="2058" >Frandroid 1</item> <item value="3697" >Frandroid 2</item> <item value="1023" >Frandroid 3</item> </string-array> Je souhaiterais pouvoir récupérer value lorsque l'item est sélectionné. Je ne trouve pas comment faire... une piste ? Merci à vous =) Modifié 4 mars 2011 par G&Dev Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Gabin Posté(e) 6 février 2011 Auteur Share Posté(e) 6 février 2011 Up ! Personne pour un petit conseil ? Bonne soirée à tous :) Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Gabin Posté(e) 9 février 2011 Auteur Share Posté(e) 9 février 2011 J'ai tout compte fais contourner mon problème en assignant ma variable lors de mon setOnItemSelectedListener pour chaque spinner. Méthode très fastidieuse (environ 400 variables à comptabiliser et à synchroniser : ordre dans mes switch's et ordre de me items correspondant dans mes Array-List's. Si jamais quelqu'un qui passerait par là voit une autre méthode plus simple et plus propre pour le code, je serais prêt à l'écouter ! Quitte à mettre à jour mon application =) Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Gabin Posté(e) 21 février 2011 Auteur Share Posté(e) 21 février 2011 (modifié) Un petit Up car je souhaiterais passer à la solution que j'avais imaginé à la base ! C'est à dire faire un tableau à plusieurs variables dans un xml, mais comment ? et comment récupérer l'id (2ème variable) d'une variable dans ma class ? Modifié 21 février 2011 par G&Dev Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
eephyne Posté(e) 21 février 2011 Share Posté(e) 21 février 2011 A ma conaissance , tu ne peut pas faire ça directement dans le string-array . Etant donné qu'un string array n'est qu'un array de string ( logique) . Une solution (a verifier) serait de creer un string-array et un integer-array en parallèle , qui contiendrait les info que tu veux , le souci c'est qu'il faudra faire attention à la synchro entre les deux. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Gabin Posté(e) 21 février 2011 Auteur Share Posté(e) 21 février 2011 Ok ça m'embête un peu de faire ça comme ça... justement pour gérer la synchro entre les 2 :emo_im_undecided: Espérons que quelqu'un aura une idée de comment faire ? Même si ce n'est pas un string-array mais quelque chose qui pourrait ressembler à ça... Merci quand même pour ta réponde :) Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
eephyne Posté(e) 21 février 2011 Share Posté(e) 21 février 2011 (modifié) une autre solution , c'est de l'intégrer directement dans le code. Ou aussi de faire ton propre xml et ton parser mais ça risque d'être long si ton xml est lourd Modifié 21 février 2011 par eephyne Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Gabin Posté(e) 21 février 2011 Auteur Share Posté(e) 21 février 2011 Mais en fait c'est justement ce que je ne veux pas faire, l'intégrer dans mon code ^^ Je veux mettre toutes mes données dans un fichier de manière à me faciliter le portage de l'application pour d'autres université qui ont d'autres données. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
eephyne Posté(e) 21 février 2011 Share Posté(e) 21 février 2011 (modifié) c'est pas parceque c'est intégré au code que c'est difficile à porter , suffit de faire une class qui ne gère que ça , suffit donc par la suite de transvaser la class (le .java) dans un autre projet (et changer le packagename) Modifié 21 février 2011 par eephyne Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
chpil Posté(e) 21 février 2011 Share Posté(e) 21 février 2011 string-array et integer-array sont des tableaux de type simple (de chaines, d'entiers) qu'il n'est pas possible de synchroniser 2 à 2. Par contre, il existe un autre format, pas spécifique à Android, qui permet de décrire, en XML, un ensemble de couples clef/valeur : les Properties, qui, à mon avis, peut correspondre à ton besoin. En stockant ce fichier dans res/raw, tu peux ensuite obtenir un InputStream sur cette ressource (Context.getResources().openRawResource()), pour la charger dans un objet Properties (Properties.loadFromXML). Ensuite, cet objet Properties te permettra de récupérer les clefs (getKeys(), les valeurs (getValues()) ou l'ensemble des couples clef/valeurs (entrySet()) pour pouvoir initialiser un Adapter que tu donneras à manger à ton Spinner Ensuite, tu n'aurais plus qu'à modifier le contenu de ton fichier XML pour adapter le contenu de tes Spinner, sans impact sur le code Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Gabin Posté(e) 21 février 2011 Auteur Share Posté(e) 21 février 2011 Ok je vais creuser de côté ci alors ! Merci à toi chpil. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Gabin Posté(e) 4 mars 2011 Auteur Share Posté(e) 4 mars 2011 Si vous voulez connaître la fin de l'histoire : Je me suis tout compte fais tourné vers une BDD. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Rejoignez la conversation
Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.