0
我有一個ExpandableListView,我希望每個孩子都能顯示不同的背景,具體取決於組和子位置。到目前爲止,我從適配器活動做,在@Override getChildView無法通過編程設置ExpandableListView的孩子的背景
這裏是我的代碼示例現在
@Override
public View getChildView(int groupPosition, final int childPosition,
boolean isLastChild, View convertView, ViewGroup parent) {
final String childText = (String) getChild(groupPosition, childPosition);
if (convertView == null) {
LayoutInflater infalInflater = (LayoutInflater) this._context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = infalInflater.inflate(R.layout.list_item, null);
}
switch (groupPosition) {
case 0:
switch(childPosition){ //
case 0:
convertView.setBackgroundResource(R.color.a1);
break;
case 1:
convertView.setBackgroundResource(R.color.a2);
break;
case 3:
convertView.setBackgroundResource(R.color.a3);
break;
case 4:
convertView.setBackgroundResource(R.color.a4);
break;
}
break;
case 1:
switch(childPosition){
case 0:
convertView.setBackgroundResource(R.color.b1);
break;
case 1:
convertView.setBackgroundResource(R.color.b2);
break;
case 3:
convertView.setBackgroundResource(R.color.b3);
break;
case 4:
convertView.setBackgroundResource(R.color.b4);
break;
}
break;
case 2:
switch(childPosition)
case 0:
convertView.setBackgroundResource(R.color.c1);
break;
case 1:
convertView.setBackgroundResource(R.color.c2);
break;
case 3:
convertView.setBackgroundResource(R.color.c3);
break;
case 4:
convertView.setBackgroundResource(R.color.c4);
break;
}
break;
}
,問題是,當我打開第二個(#1 ),第三(#2)組父母,孩子們像第一個(#0)組中那樣染色。
這個開關框架工作得很好,當然,「@color」中的所有顏色都不相同。 任何提示?
Merci Guillaume。其實它是一個ExpListView。 你能預見這個問題的任何想法嗎? –
更改「if(convertView == null)」塊之外的顏色 –
Merci encore,Guillaume。我把所有的開關放在 之間,最終String childText =(String)getChild(groupPosition,childPosition); 和 if(convertView == null)LayoutInflater infalInflater =(LayoutInflater)this._context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); convertView = infalInflater.inflate(R.layout.list_item,null); 它崩潰。其實我早就想到了它。任何想法? –