2012-12-06 63 views
0

我希望在可擴展列表視圖中設置單個視圖的背景顏色。各組視圖中可膨脹列表視圖調用此方法創建時間..在可擴展列表視圖中設置單個視圖的背景顏色

public View getGroupView(int groupPosition, final boolean isExpanded,View view, ViewGroup parent) 

我然後檢查每個視圖使用以下的條件..

if(booleanArray[groupPosition]){ 

} else {       
view.setBackgroundColor(Color.parseColor("#F0F0F0")); 
} 

如果該條件爲真,我保留視圖的背景。 如果條件是假的,我改變看法的背景顏色爲#F0F0F0

我所看到的是,即使在TRUE條件滿足時,視圖的背景顏色還是會被設置爲#F0F0F0

有任何想法嗎?

+1

所以首先運行所有的組行都是那種顏色?不管布爾數組是什麼意思? – mango

+0

@mango booleanArray初始化爲在第一次運行時包含所有true元素,所以背景保持爲組的默認背景色。 – Strokes

+1

這意味着您需要爲條件語句的真實部分設置條件,可以爲組視圖的默認顏色設置命令。你的'convertView'必須工作,因爲一旦你改變了同一個視圖被髮送到另一個位置的顏色,並不總是這樣,新的將從頭開始膨脹。 – mango

回答

2

如果if爲true,則必須將顏色設置爲默認值。因爲你的觀點被重用,你不能「保持原樣」。

相關問題