2012-04-30 32 views
0

我想通過單擊ListView更改背景顏色。我的代碼如下所示:查看將獲得兩次onItemClick

@Override 
    public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {   
     arg1.setBackgroundColor(Color.GREEN); 
    } 

奇怪的是這一點,如果我點擊項目7號,第7項變化的背景下,還從項目數6

+0

請看看這個http://stackoverflow.com/a/6923513/1321873 – Rajesh

回答

3

其因的ListView 再循環裏面使用的視圖(行項目)。最好的解決方案是通過在適配器中重寫getView方法來更改所需行/項目的背景顏色。通過這樣,您可以更好地控制列表項目,並且可以重置其他不需要的視圖的背景顏色。欲瞭解更多信息,請閱讀this