2013-10-27 15 views
5

リストビューが1つあります。アダプタのgetView()メソッドで、以下のような代替の色を割り当てました。リストビューの代替行の色と選択したアイテムの背景色を設定する方法

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

上記のコードはうまくいきます。今度は、選択したリスト項目の色を変更したいと思います。私は以下のようにlistSelectorのXMLで作成した

:そのために私は、以下の手順に従っている

<?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> 

を、私は以下のように私のリストに上記のセレクタを割り当てた:

myList.setSelector(R.drawable.list_selector); 

しかし、私は選択されたリスト項目の色を取得していません。

誰でも、交互の行の色と選択したリストアイテムの色をアン​​ドロイドリストに設定する方法を教えてください。

+0

[1] [1] [ここに答えがある]:http://stackoverflow.com/questions/21249981/how-to-change-custom-listview-row-color-change-alternatively/21250701? noredirect = 1#21250701 行の色の変更に役立つ可能性があります –

答えて

2

この

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> 

のように試してみて、

getViewメソッド()でそれを使用しますこれはあなたを助ける参考
if (position % 2 == 0) { 
     view.setBackgroundResource(R.drawable.artists_list_backgroundcolor); 
    } else { 
     view.setBackgroundResource(R.drawable.HERE_FOR_ALTERNATE); 
    } 

Link

希望。

関連する問題