2010-09-28 4 views
0

J'ai créé un ListView et appliqué un sélecteur comme suitproblème avec le sélecteur pour un ListView dans Android

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
<item android:state_pressed="true" 
    android:drawable="@drawable/my_btn_pressed" />   
<item android:state_focused="true" 
    android:drawable="@drawable/my_btn_focussed" /> 
<item android:drawable="@drawable/my_btn_normal" />  
</selector> 

Lorsque concentré ou pressé, l'arrière-plan de l'élément ListView est tel que spécifié dans le sélecteur. Mais l'arrière-plan par défaut n'est jamais appliqué, pouvez-vous me dire ce qui ne va pas?

Soit dit en passant, c'est le xml de ligne personnalisé Je l'ai utilisé:

<?xml version="1.0" encoding="utf-8"?> 
<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:padding="10dip" 
    android:textColor="#FFFFFF" 
    android:textStyle="bold" 
    android:textSize="20sp" > 
</TextView> 

Merci, Kiki

Répondre

1

La solution a été présenté comme réponse à this question.

+1

Oui, merci CodeLark! Je l'avais trouvé confus plus tôt. Quoi qu'il en soit, en vous référant à votre lien, j'ai créé l'arrière-plan par défaut de ListView en ajoutant simplement android: background = "@ drawable/my_btn_normal" dans ma ligne personnalisée xml. – kiki

0

Essayez d'utiliser ce code:

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_pressed="true" android:state_focused="false" android:drawable="@drawable/my_btn_pressed" />   
    <item android:state_focused="true" android:state_pressed="false" android:drawable="@drawable/my_btn_focussed" /> 
    <item android:state_focused="false" android:state_pressed="false" android:drawable="@drawable/my_btn_normal" />  
</selector> 
+0

Nope, ce travail ne marche pas. Par défaut, il ne montre toujours aucun arrière-plan. Une fois focalisé, l'arrière-plan correct (my_btn_focussed) apparaît. Lorsque vous appuyez sur cette touche, le mauvais arrière-plan apparaît avec ce sélecteur, c'est-à-dire que lorsque vous appuyez sur, my_btn_normal apparaît à la place de my_btn_pressed. Maintenant, cela m'a complètement confus! – kiki

0

En y notre Textview, vous devriez essayer de changer cela ...

android:background="@drawable/<b>my_btn_normal</b>" 

à cette ...

android:background="@drawable/<b>your selector's name</b>"