2016-06-07 8 views
1

Diese Frage wurde viele Male gestellt und ich habe viel danach gesucht, aber fast alle Lösungen funktionieren nicht für mich. Ich möchte mehrere Elemente der Listenansicht auswählen und die Farbe der ausgewählten Elementänderungen auswählen. Wenn es 10 Einträge in der Listenansicht gibt und ich 5 Elemente auswähle, sollte die Farbe dieser 5 Elemente geändert werden und sind im Fokus, so dass ich sie ausführen kann. Aber jede Lösung funktioniert nicht für mich nur der aktuell ausgewählte Artikel geändert, aber nicht alle Artikel sind fokussiert und ändern sich.Mehrere Elemente in der Listenansicht sind nicht fokussiert (Farbe ändert sich nicht)

habe ich versucht, mit vielen Codes, und dies ist einer von ihnen:

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 

<item 
android:state_selected="false" 
android:state_pressed="false" 
android:drawable="@drawable/normal_shape" /> 

<item android:state_pressed="true" 
android:drawable="@drawable/gradient_bg_hover" /> 

<item android:state_selected="true" 
android:state_pressed="false" 
android:drawable="@drawable/gradient_bg_hover" /> 
</selector> 

gradient_bg_hover:

<?xml version="1.0" encoding="UTF-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
android:shape="rectangle" > 

<gradient 
    android:startColor="#d9dd00" 
    android:endColor="#e6ea02" 
    android:angle="270" /> 
</shape> 

normal_shape:

<?xml version="1.0" encoding="UTF-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
android:shape="rectangle" > 

<gradient 
    android:angle="270" 
    android:endColor="#fefeff" 
    android:startColor="#d5dbe7" /> 

<stroke 
    android:width="1dp" 
    android:color="#acd9dd" /> 

</shape> 

und in meinem Listview hier ist der XML-Code :

<ListView 
    android:id="@+id/messageList" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:layout_marginLeft="4dp" 
    android:layout_marginRight="4dp" 
    android:cacheColorHint="@null" 
    android:listSelector="@drawable/listsele" 
    android:layout_marginBottom="5dp" /> 

Was ist das Problem? warum werden die von mir ausgewählten Elemente werden nicht fokussiert und nicht wechselnden Farben

+0

do u wissen, wie Adapter –

+0

von Update aktualisieren Sie? –

+0

ändern Sie das Array und aktualisieren Sie die Liste –

Antwort

0

entfernen diese Linie

android:cacheColorHint="@null" 

Und Verwendung Selektor als Hintergrund