我有我的自定义适配器的几行代码:变化的文字和行的颜色上点击
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代码:
row_colour
<?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_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="#1B1B1B" />
</selector>
我需要改变背景颜色,但与此代码它不工作。我需要这些行在#424242
和#1B1B1B
之间切换,并在点击它们时转到#ABCC2A
。预先感谢任何信息,您可以提供
仍然不能用于我的行背景。它仍然呈现棕色。当它被认为是在黑色和灰色之间交替时,行的主色也是全黑的 – BigT 2012-08-17 15:34:44
当你说它变成了棕色时,你的意思是按下时的变化正在工作,但它会变成一些棕色颜色而不是#ABCC2A的绿色?行背景当前是黑色的#000000,还是一些应该是的#1B1B1B? – skyrift 2012-08-17 15:51:30
这些行目前是黑色的,是的,它会去一些褐色,而不是我想要的绿色。 – BigT 2012-08-20 14:27:24