Spinner avec multi-ligne les articles les chevauchements élément sélectionné affichage sur Froyo

Je suis en train de créer des Toupies qui ressemblent le même sur toutes les versions d'Android retour à Froyo. À cette fin, je suis en utilisant HoloEverywhere. Certains de la spinner le texte d'un élément est plus d'une ligne, et je voudrais le retour à la ligne.

À l'aide de la mise en page par défaut, android.R.layout.simple_spinner_dropdown_item, ou HoloEverywhere, la baisse-dans le remplacement pour elle, ellipsizes le texte au lieu de l'emballage.

Prendre le HoloEverywhere de mise en page comme point de départ pour une mise en page personnalisée avec singleLine ensemble de false, ellipsize ensemble de none, et layout_height ensemble de wrap_content n'aide pas, le texte est toujours coupée.

Je peut obtenir le texte pour envelopper correctement dans la liste déroulante en enveloppant la TextView dans un LinearLayout, mais sur Froyo appareils, cette bousille l'affichage de la sélectionné élément:
Spinner avec multi-ligne les articles les chevauchements élément sélectionné affichage sur Froyo

Cette méthode fonctionne très bien sur les appareils récents. La liste déroulante de l'élément de mises en page sont très bien sur tous les appareils. Mais Froyo cette bizarre de texte qui se chevauchent lorsque j'utilise un custom déroulant en page de l'élément. Chaque sélection se fait tout simplement empilés sur le dessus de la dernière.

Cette question:
Spinner n'est pas de placer du texte -- est-ce un Android bug? sur habillage du texte dans les Toupies suggère que la seule façon de le faire est de recréer le style à partir de zéro, sans hériter, mais ça a l'air fou et sujettes à des problèmes.

my_simple_list_item_1.xml:

<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android" 
  android:layout_width="300dp"
  android:layout_height="wrap_content" >   

  <TextView
    android:id="@+id/android:text1"
    android:layout_width="wrap_content"
    android:layout_height="50dp"
    android:ellipsize="marquee"
    android:layout_gravity="center_vertical"
    android:singleLine="false"/>
</LinearLayout> 

Java:

    import org.holoeverywhere.widget.Spinner;

    spinner1.setAdapter(ArrayAdapter.createFromResource(this,
            R.array.array_of_strings, R.layout.my_simple_list_item_1));
Notez qu'il existe deux fichiers de style, l'une pour la liste déroulante des articles, et un pour l'élément de la liste (qui sonne comme celui qui se chevauchent). Êtes-vous de définir explicitement le style sélectionné?
Aussi, avez-vous essayé de simplement donner de la mise en page d'un arrière-plan de sorte que même si c'est chevauchement, vous ne serez pas en mesure de voir ce qui est en dessous?
Hé, il n'y bladiblah, merci pour votre réponse. Je ne crois pas que je suis en train de le style sélectionné de manière explicite. Cependant, juste pour vérifier ce qui se passait, j'ai fait de lui donner un arrière-plan. J'espérais vraiment que ce serait le travail, mais malheureusement, c'était de l'empilement de la mauvaise façon. Si j'ai mis un fond sur le textview, je n'en ai jamais l'occasion de voir le premier élément sélectionnable dans la casserole(ou le premier élément du tableau). Il semble quand il est d'empiler de nouvelles choses allait ci-dessous les vieux trucs, l'ajout d'un arrière-plan seulement permettez-moi de voir que la première sélection.
Est-il possible où je peux définir explicitement l'élément de liste sélectionné?

OriginalL'auteur Michael Alan Huff | 2013-04-02