Jump to content

[Résolu] Ajout variable dans un Item d'Array-List


Gabin

Recommended Posts

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 by G&Dev
Link to comment
Share on other sites

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 =)

Link to comment
Share on other sites

  • 2 weeks later...

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 by G&Dev
Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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 :)

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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 by eephyne
Link to comment
Share on other sites

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

Link to comment
Share on other sites

  • 2 weeks later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...