Question

J'ai une fileuse androïde qui est peuplée par une liste de chaînes en utilisant un ArrayAdapter et il fonctionne très bien, mais à cause de la façon dont la fileuse apparaît que je suis en cours d'exécution dans un problème de hauteur d'affichage avec les éléments de la liste.

À première vue, il semblerait que le ArrayAdapter peut utiliser une mise en page unique pour l'affichage des options qui conduit au problème que je vais avoir. Lors de l'affichage l'élément en cours dans la fileuse (lorsque l'utilisateur n'est pas la sélection d'un nouvel élément dans la liste) les tampons de spinner le texte de sorte que la fileuse est une taille raisonnable pour cliquer sur. Toutefois, lorsque l'utilisateur tape sur et fait apparaître la liste pour sélectionner un nouvel élément, les éléments de la liste sont présentés moyen de faible hauteur sage. Si j'utilise une mise en page de l'article qui présente les éléments de liste à une hauteur raisonnable, la fileuse lui-même devient énorme en raison exorbitantly à son propre rembourrage de l'élément de la liste.

Toutes les idées sur la façon dont je peux gérer la hauteur de ces deux modes d'affichage de l'élément afin que l'efficacité de leur affichage avec la même valeur de hauteur au lieu de la hauteur de spinner étant supérieure à la hauteur d'affichage de l'élément de liste?

Était-ce utile?

La solution

J'ai rencontré ce problème moi-même il y a quelque temps, et il est apparu que je dois utiliser différentes mises en page pour la liste déroulante et affichage

J'ai ce code:

adapter = new SimpleCursorAdapter(this, android.R.layout.simple_spinner_item, cGroups,
                new String[] {
                        "name", "_id"
                }, new int[] {
                    android.R.id.text1
                });
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

Autres conseils

Oui, la réponse ci-dessus est correcte.

Il m'a fallu une éternité pour trouver, parce que ce qui ne va pas dans les échantillons de sdk pour Android 2.2. Et j'ai eu du mal à accepter cela.

Voici un extrait de samples / androïde-12 / Spinner / src / com / applications / par exemple / filage / SpinnerActivity.java:

       this.mAdapter = ArrayAdapter.createFromResource(this, R.array.Planets,
                android.R.layout.simple_spinner_dropdown_item);

alors qu'il devrait avoir lieu et il android.R.layout.simple_spinner_item simple_spinner_dropdown_item ne doit être utilisé pour les éléments déroulants. Sinon, la flèche spinner get ÉTIRÉ et il dessine le cercle de sélection déroulant à l'écran aussi.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top