2013-10-10 166 views
1

我知道還有其他關於這個問題,但我不能做得很好。改變選定的項目列表視圖的顏色

我有這樣的代碼:

StateListDrawable sld = new StateListDrawable(); 
    sld.addState(new int[] {android.R.attr.state_pressed}, new ColorDrawable(Color.rgb(0, 255, 0))); 

    lv = new ListView(this); 
    lv.setId(854); 
    lv.setSelector(sld); 

正在工作,但它改變了所有行的背景顏色,我只希望更改按下行hightlight顏色。

請不要用xml代碼回答,我會以編程方式完成所有操作。

有什麼想法?

+0

嘗試從state_pressed更改爲state_activated – Ogen

+0

另外,把'lv.setChoiceMode(1);' – Ogen

+0

state_activated是API lvl 11,不能使用它。仍然這樣做。 – Nanoc

回答

0

如果你指定了一個「默認狀態」,它正在工作嗎?例如

sld.addState(new int[] { }, white); 
+0

似乎沒有做任何事情,仍然改變所有行顏色,當我按下一個。 – Nanoc

+0

eric在這裏尋找答案。它的作品http://stackoverflow.com/questions/10447238/how-to-change-background-color-of-selected-items-in-listview – khubaib

+0

我不想多選我的列表視圖,只是爲了改變項目高光顏色.. – Nanoc

0

有一些方法來做到這一點: 1.設置ListView的屬性單一選擇模式也是。

+0

我該如何編程? – Nanoc

+0

在適配器中創建視圖持有者。然後使用位置設置任何你想要的持有人 –

相關問題