Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

ListView et ListSelector


Sujet :

Android

  1. #1
    Membre habitué
    ListView et ListSelector
    Bonjour à tous.
    Je vous soumets un problème que je n'arrive pas à expliquer :
    Voici le XML de mon activity_main :
    Code XML :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        <ListView
            android:id="@+id/maListView"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:listSelector="@drawable/list_selector"/>


    et voici mon list_selector.xml :

    Code XML :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
        <item
            android:state_activated="false"
            android:state_pressed="false"
            android:drawable="@drawable/item_state_normal"/>
     
        <item android:state_pressed="true"
            android:drawable="@drawable/item_state_pressed" />
     
        <item android:state_activated="true"
            android:state_pressed="false"
            android:drawable="@drawable/item_state_selected" />
    </selector>


    Ce code marche parfaitement bien avec l'émulateur mais plante sur le "vrai" smartphone.
    Après recherche sur le net, j'ai remplacé "android:state_activated" par "android:state_selected" et puis par "android:state_enabled" mais ça plante toujours.
    Si je mets en commentaire "android:listSelector="@drawable/list_selector"/>" du activity_main.xml, l'appli fonctionne bien et ne plante plus mon smartphone (mais le résultat n'est pas celui que je voulais)
    Quelqu'un peut-il me dire pourquoi ?

  2. #2
    Membre habitué
    Bon, bin finalement, j'ai trouvé la solution.
    J'ai remplacé
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    android:listSelector="@drawable/list_selector"


    par

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    android:listSelector="#16cedb"


    et j'obtiens ce que je voulais (la ligne sélectionnée doit rester en bleu)

    Une solution ultra simple qui interdit cependant le petit dégradé que j'avais avec l'autre méthode.

    En espérant avoir aidé.

###raw>template_hook.ano_emploi###