Gabin Posted February 4, 2011 Share Posted February 4, 2011 (edited) 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 =) Edited March 4, 2011 by G&Dev Quote Link to comment Share on other sites More sharing options...
Gabin Posted February 6, 2011 Author Share Posted February 6, 2011 Up ! Personne pour un petit conseil ? Bonne soirée à tous :) Quote Link to comment Share on other sites More sharing options...
Gabin Posted February 9, 2011 Author Share Posted February 9, 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 =) Quote Link to comment Share on other sites More sharing options...
Gabin Posted February 21, 2011 Author Share Posted February 21, 2011 (edited) 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 ? Edited February 21, 2011 by G&Dev Quote Link to comment Share on other sites More sharing options...
eephyne Posted February 21, 2011 Share Posted February 21, 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. Quote Link to comment Share on other sites More sharing options...
Gabin Posted February 21, 2011 Author Share Posted February 21, 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 :) Quote Link to comment Share on other sites More sharing options...
eephyne Posted February 21, 2011 Share Posted February 21, 2011 (edited) 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 Edited February 21, 2011 by eephyne Quote Link to comment Share on other sites More sharing options...
Gabin Posted February 21, 2011 Author Share Posted February 21, 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. Quote Link to comment Share on other sites More sharing options...
eephyne Posted February 21, 2011 Share Posted February 21, 2011 (edited) 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) Edited February 21, 2011 by eephyne Quote Link to comment Share on other sites More sharing options...
chpil Posted February 21, 2011 Share Posted February 21, 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 Quote Link to comment Share on other sites More sharing options...
Gabin Posted February 21, 2011 Author Share Posted February 21, 2011 Ok je vais creuser de côté ci alors ! Merci à toi chpil. Quote Link to comment Share on other sites More sharing options...
Gabin Posted March 4, 2011 Author Share Posted March 4, 2011 Si vous voulez connaître la fin de l'histoire : Je me suis tout compte fais tourné vers une BDD. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.