2016-09-29 65 views
0

我已經在可擴展列表視圖中設置了備用組標題的兩種顏色。但是,當我多次點擊展開或摺疊顏色變化到任何組行。可擴展列表視圖組標題顏色變化

這裏是我的代碼,

if (convertView == null) { 
     LayoutInflater infalInflater = (LayoutInflater) this._context 
       .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
     convertView = infalInflater.inflate(R.layout.list_group, null); 

     if(groupPosition % 2 == 1) { 
      convertView.setBackgroundColor(Color.parseColor("#3C3C3C")); 
     }else { 
      convertView.setBackgroundColor(Color.parseColor("#000000")); 
     } 
    } 

這是滾動列表後發生。我也試過這一個

private int[] colors = new int[] { Color.parseColor("#000000"), Color.parseColor("#3C3C3C") }; 
int colorPos = groupPosition % colors.length; 
convertView.setBackgroundColor(colors[colorPos]); 

回答

1

你可以試試這個:

if (groupPosition % 2 == 0) 
{ 
    convertView.setBackgroundColor(Color.parseColor("#3C3C3C")); 
} 
else 
{ 
    convertView.setBackgroundColor(Color.parseColor("#000000")); 
} 
+0

我已經嘗試this.but不工作。顏色發生變化,但是在顏色轉換後,顏色會移動到任何一行。 –

+0

首先檢查:if(convertView == null){ \t \t \t convertView = inflater.inflate(R.layout.listrow_group,null); \t \t}然後在If條件的旁邊設置代碼。 –

+0

在我的代碼::如果(convertView == NULL){ LayoutInflater infalInflater =(LayoutInflater)this._context \t \t \t \t \t .getSystemService(Context.LAYOUT_INFLATER_SERVICE); \t \t \t convertView = infalInflater.inflate(R.layout.list_item,null); \t \t} –

0

做的

if(groupPosition % 2 == 0) 

代替

if(groupPosition % 2 == 1) 

並保持如果境外convertView的= =空檢查

if (convertView == null) { 
    LayoutInflater infalInflater = (LayoutInflater) this._context 
      .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    convertView = infalInflater.inflate(R.layout.list_group, null); 
} 

if(groupPosition % 2 == 0) { 
     convertView.setBackgroundColor(Color.parseColor("#3C3C3C")); 
    }else { 
     convertView.setBackgroundColor(Color.parseColor("#000000")); 
    } 
1
if(groupPosition % 2 == 0) { 
      convertView.setBackgroundColor(Color.parseColor("#3c3c3c")); 
     }else { 
      convertView.setBackgroundColor(Color.parseColor("#000000")); 
     } 

把這個代碼,如果(convertView == NULL)超出此條件

+0

謝謝Mohit,它的工作。 –

+0

如果您滿意,請接受答案 –