2013-05-24 2 views
3

Ceci est mon sélecteur:android: state_enabled = "false" ne fonctionne pas

<?xml version="1.0" encoding="utf-8"?> 
    <selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:drawable="@android:drawable/ic_delete" 
    android:state_enabled="false" 
    android:state_selected="false" /> 
    <item android:drawable="@android:drawable/arrow_up_float" 
    android:state_selected="true" 
    android:state_enabled="true" /> 
    <item android:drawable="@drawable/modosprepara" 
    android:state_enabled="true" 
    android:state_selected="false" /> 
    </selector> 

"arrow_up_float" et "oeuvres de modosprepara" mais "ic_delete" n'apparaît jamais.

-je utiliser cette option pour désactiver ce point de vue:

tabs.getTabWidget().getChildAt(index).setEnabled(false); 
+0

est state_selected = false? – Blackbelt

+0

oui! est state_enabled qui ne fonctionne pas – Aythami

+4

J'ai eu un problème similaire il y a longtemps, et il s'est avéré que l'ordre des états est important. En changeant la commande, cela a fonctionné. Donc, essayez de passer de state_selected à la première déclaration, peut-être que ça aide. – Opiatefuchs

Répondre

0

Je viens de trouver une solution

<?xml version="1.0" encoding="utf-8"?> 
    <selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:drawable="@drawable/modosprepara" 
    android:state_activated="true"/> 
    <item android:drawable="@android:drawable/arrow_up_float" 
    android:state_selected="true" /> 
    <item android:drawable="@android:drawable/ic_delete" /> 
    </selector> 

et

tabs.getTabWidget().getChildAt(index).setEnabled(false); 
    tabs.getTabWidget().getChildAt(index).setActivated(false); 

Merci pour les réponses!

1

Vous devez suivre la commande.

1) state_enabled = true

2) state_enabled = false

3) state_pressed = true

4) state_pressed = false

Questions connexes