2013-10-27 21 views
5

Ho una visualizzazione elenco. Ho assegnato colori di riga alternati come di seguito nel metodo getView() dell'adattatore:Come impostare Listview colore della riga alternata e colore dello sfondo selezionato dell'articolo

if(position % 2 ==1) 
{ 
convertView.setBackgroundColor(Color.rgb(231, 249, 255)); 
} 
else 
{ 
convertView.setBackgroundColor(Color.rgb(195, 240, 255)); 
} 

Sopra il codice funziona correttamente. Ora voglio cambiare il colore della voce di elenco selezionata. Per questo ho seguito la seguente procedura:

ho creato su listSelector xml come di seguito:

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

    <!-- Selected --> 
    <item 
    android:state_focused="true" 
    android:state_selected="false" 
    android:drawable="@drawable/focused"/> 

    <!-- Pressed --> 
    <item 
    android:state_selected="true" 
    android:state_focused="false" 
    android:drawable="@drawable/selected" /> 

</selector> 

e ho assegnato il selettore sopra alla mia lista come di seguito:

myList.setSelector(R.drawable.list_selector); 

Ma Non ricevo il colore dell'elemento della lista selezionato.

Qualcuno può dirmi come impostare il colore della riga alternata e il colore dell'elenco selezionato in un elenco di Android.

+0

[qui è la risposta] [1] [1]: http://stackoverflow.com/questions/21249981/how-to-change-custom-listview-row-color-change-alternatively/21250701? noredirect = 1 # 21250701 potrebbe aiutarti a cambiare il colore delle righe –

risposta

2

Prova come questo

artists_list_backgroundcolor.xml

<?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="@color/normal" /> 
<item android:state_pressed="true" 
    android:drawable="@color/itemselected" /> 
<item android:state_selected="true" 
android:state_pressed="false" 
    android:drawable="@color/itemselected" /> 
</selector> 

colors.xml

<resources> 

    <color name="normal">#ffffff</color> 
    <color name="itemselected">#EDEDED</color> 

</resources> 

e utilizzarlo in GetView()

if (position % 2 == 0) { 
     view.setBackgroundResource(R.drawable.artists_list_backgroundcolor); 
    } else { 
     view.setBackgroundResource(R.drawable.HERE_FOR_ALTERNATE); 
    } 

Per riferimento Link

Spero che questo vi aiuterà.

Problemi correlati