カスタム アダプターに次のコード行があります。
int colorPos = position % colours.length;
vi.setBackgroundColor(colours[colorPos]);
colours
は次のように定義されます。
private int[] colours = new int[] { R.drawable.row_colour, R.drawable.row_colour2 };
これを使用して、ユーザーが行の 1 つをクリックすると、背景色が変わります。各行に交互の色があるため、2 つR.drawable.row_colour
の s があります。最初の色はグレーのはずですが、すべての行が黒です。そして、各行をクリックすると、この茶色になります。ここに私のrow_colourとrow_colour2コードがあります:
行の色
<?xml version="1.0" encoding="UTF-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true" android:state_pressed="false" android:color="#ABCC2A" />
<item android:state_focused="true" android:state_pressed="true" android:color="#ABCC2A" />
<item android:state_focused="false" android:state_pressed="true" android:color="#ABCC2A" />
<item android:color="#424242" />
</selector>
row_color2
<?xml version="1.0" encoding="UTF-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true" android:state_pressed="false" android:color="#ABCC2A" />
<item android:state_focused="true" android:state_pressed="true" android:color="#ABCC2A" />
<item android:state_focused="false" android:state_pressed="true" android:color="#ABCC2A" />
<item android:color="#1B1B1B" />
</selector>
背景の色を変更する必要がありますが、このコードでは機能しません。#424242
行が と の間で交互に表示される必要があります。#1B1B1B
クリックすると に移動し#ABCC2A
ます。事前に情報を提供していただきありがとうございます