2011-04-14 76 views
0

我想訪問特定的ListView行的視圖,以便我可以更改背景顏色時,選擇一個收音機組按鈕選項。在onCheckedChanged ListView項目的視圖

我已經擴展了BaseAdapter並在重寫的getView方法中設置了視圖。通過跟蹤該位置的值,再循環視圖都可以正確處理,並且在調用getView時正確顯示背景顏色。

我的問題是我想在用戶單擊單選按鈕時立即更改背景色。我用的是這樣的:

@Override 
public void onCheckedChanged(RadioGroup radioGroup, int radioId) 
{ 
    View viewRow = (View) radioGroup.getParent(); 
    view.setBackgroundColor(colour); 
} 

但我不認爲這是可取的,它似乎並沒有按預期工作(其他觀點也改變)。出於某種原因,即使我也在getView中設置了顏色,但在使用上述方法時似乎會被忽略。

有沒有一種很好的方法可以從此回調訪問視圖?

+0

在getView中設置顏色應該可以工作。你如何確定它被「忽略」?一般情況下,ListView會跟蹤模型中的項目狀態,並在更改時調用notifyDataSetChanged()是最佳途徑。 – slund 2011-04-14 14:57:17

回答

0

問題是再次回收的意見。在BaseAdapter的回調中,我沒有設置顏色。