Les valeurs de réglage et d'affichage de Texte sous Android Spinner
J'ai besoin d'aide dans la création de valeur et d'afficher du texte dans spinner.
comme par maintenant, je suis le remplissage de mon spinner par adaptateur tableau électronique.g
mySpinner.setAdapter(myAdapter);
et pour autant que je sais après avoir fait cela, le texte de l'affichage et de la valeur de spinner à la même position est la même. L'autre attribut que je peux obtenir à partir spinner est la position de l'élément.
maintenant, dans mon cas je veux faire spinner comme la zone de liste déroulante, qui nous ont en .NET.
qui est titulaire d'un texte et la valeur.
où, comme le texte est affiché et la valeur est à l'extrémité arrière.
donc si je change de zone de liste déroulante , je peux soit utiliser son texte sélectionné ou de la valeur.
mais sa ne se passe pas dans android spinner cas.
Par Exemple:
Valeur De Texte
Chat 10
Montagne 5
Pierre 9
Poisson 14
Rivière 13
Longe de 17
sorte de tableau ci-dessus, je ne suis que l'affichage de la non-vie à des objets de texte, et ce que je veux, c'est que lorsque l'utilisateur de sélectionner, je les reçois il y a de la valeur c'est à dire comme lors de la Montagne sélectionné-je obtenir 5
J'espère que cet exemple fait ma question un peu plus clair...
thankx
- Une autre grande option si vous n'êtes pas à l'obtenir à partir d'une source de données persistantes et c'est juste un tableau statique de l'Affichage du Texte et des Valeurs est un Enum. Laissez-moi savoir si vous êtes intéressé et je vais poster une réponse.
- Voir ce pour l'instant tho: stackoverflow.com/a/37266810/293280
Vous devez vous connecter pour publier un commentaire.
Étape #1: Créer un modèle de données pour votre texte et la valeur de la paire de
Étape #2: Étendre
BaseAdapter
ouArrayAdapter
à enrouler autour de votre modèle de données, en remplaçantgetView()
de retour que vous souhaitez afficher dans leSpinner
lui-mêmeÉtape n ° 3: un événement de sélection, utilisez la position pour trouver l'objet correspondant à votre modèle de données, et de rechercher la valeur
Si tout ce que vous voulez afficher dans le
Spinner
est juste une représentation de texte de chaque élément dans le modèle de données, vous pouvez ignorer la coutumeAdapter
-- juste utiliserArrayAdapter<YourModelClass>
et remplacertoString()
surYourModelClass
à retourner tout le texte de l'affichage que vous souhaitez.Si vous ne voulez pas aller par le biais de la création de votre propre carte de classe, vous pouvez au lieu de vous envelopper de données dans quelque chose qui a toString de retour que vous souhaitez afficher dans la casserole. J'utilise une classe comme ceci:
Et lorsque le compteur des changements: