2013-08-08 6 views
0

Comment supprimer le bouton radio de spinner BUTTON, en utilisant uniquement Themes.xml? Je peux le supprimer après avoir appliqué un autre style, mais je ne peux pas supprimer ce bouton par défaut de Themes.xml.Bouton Spinner sans bouton radio

<style name="My.Theme.Spinner" parent="android:Widget.Spinner"> 
    <item name="android:background">@drawable/spinner_bg</item> 
    <item name="android:clickable">true</item> 
    <item name="android:spinnerMode">dialog</item> 
    <item name="android:checkedButton">@null</item> 
    <item name="android:checkable">false</item> 
</style> 

Thème

<style name="My.Theme" parent="@android:style/Theme"> 
     <item name="android:spinnerStyle">@style/My.Theme.Spinner</item> 
    </style> 

adaptateur ORIGINAL (avec des boutons radio en articles)

new ArrayAdapter<String>(getActivity(), R.layout.spinner_item, 
      getResources().getStringArray(R.array.registrationIds)); 

Adaptateur Mise à jour (sans radio):

new ArrayAdapter<String>(getActivity(), 
      android.R.layout.simple_spinner_item, getResources().getStringArray(R.array.registrationIds)); 

Remarque: Les éléments Spinner doivent avoir un boutons radio. Le bouton Spinner devrait être sans radio.

fragment.xml

<Spinner 
       android:id="@+id/spinner" 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:paddingLeft="@dimen/small_content_padding"/> 

Voir ma question: Issue

+0

ne peut pas personnaliser le spinner.Au lieu de cela, vous pouvez créer le menu contextuel pour cliquer sur le bouton. Merci mec ... – Srinivasan

+0

grâce à l'adaptateur, vous pouvez le faire. – Harish

+0

Après avoir changé l'adaptateur (adapter.setDropDownViewResource (android.R.layout.simple_spinner_item);) - mes articles spinner n'ont pas de boutons radio, mais le bouton spinner - avec bouton radio encore. – monyag

Répondre

8

Vous devez ajouter viewResourceid dans CreateResource seulement dire, comme suit ..

si vous créez avec tableau de ressources.

adapter = ArrayAdapter.createFromResource(ActivityName.this,Your values resource id here,android.R.layout.simple_spinner_item); 
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 

si vous créez avec string [] Les objets alors ce sera comme suit ..

ArrayAdapter<String> adapter = new ArrayAdapter<String>(ActivityName.this, android.R.layout.simple_spinner_item, String[]namehere); 
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
+0

Bon. Cela fonctionne pour le bouton. Mais ma boîte de dialogue spinner actuellement sans les boutons radio. Je veux un bouton sans radio, mais les articles de fileur devraient avoir le bouton radio. C'est possible? – monyag

+0

vérifier la réponse modifiée.avec ce qui précède, vous pouvez obtenir spinner sans bouton radio, en même temps dans la boîte de dialogue spinner vous obtiendrez des boutons radio pour les articles. – Harish

+0

Oh, ce n'est pas évident! Mais ça fonctionne. Je vous remercie! – monyag

2

Utilisez cette

dataAdapter.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line); 

au lieu de

dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
vous