我有我的自定義適配器的幾行代碼:變化的文字和行的顏色上點擊
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