我的自定义适配器中有这些代码行:
int colorPos = position % colours.length;
vi.setBackgroundColor(colours[colorPos]);
colours
定义如下:
private int[] colours = new int[] { R.drawable.row_colour, R.drawable.row_colour2 };
我使用它,因此当用户单击我的其中一行时,背景颜色会发生变化。我有每一行交替的颜色,所以这就是为什么有两个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>
行颜色2
<?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