2014-09-13 72 views
0

我想更改列表視圖項目背景顏色,而不使用onitemclick()方法。因爲一開始我要檢查項目數據並基於它會改變顏色。我應該怎麼做?列表視圖項目背景顏色變化

+0

你想改變'的ListView Item'的背景顏色,當_CLICKED_後檢查一些條件? – 2014-09-13 11:35:13

回答

0

listView.setOnItemClickListener(new OnItemClickListener() { 

    @Override 
    public void onItemClick(AdapterView<?> arg0, View view, int position, 
      long id) { 
     if(items.get(position).getSomething().equals(Something){ 
      // If your condition fulfills then change background color 
      listView.getChildAt(position).setBackgroundColor(#55667788); 
     } 
    } 
}); 


編輯:

@Override 
public View getView(final int position, View convertView, ViewGroup arg2) { 
    // TODO Auto-generated method stub 

    if (convertView == null) { 
     LayoutInflater inflater = context.getLayoutInflater(); 
     convertView = inflater.inflate(R.layout.row_counter, null); 

     final ViewHolder viewHolder = new ViewHolder(); 
     viewHolder.name = (TextView) convertView.findViewById(R.id.tv_name); 
     viewHolder.number = (TextView) convertView 
       .findViewById(R.id.tv_number); 
     viewHolder.row = (TextView) convertView 
       .findViewById(R.id.rel_row); 

     convertView.setTag(viewHolder); 
    } 

    holder = (ViewHolder) convertView.getTag(); 

    currentModel = list.get(position); 

    holder.name.setText(currentModel.getName()); 
    holder.number.setText(currentModel.getNumber()); 

    if(holder.name.equals("SOMETHING")){ 
     holder.row.setBackgroundColor("#55667788"); 
    }else{ 
     holder.row.setBackgroundColor("#000000"); 
    } 

    return convertView; 
} 
+0

我想在沒有onItemClick()方法的情況下更改bg顏色。因爲我必須檢查任何項目是否保存特定的數據。 – 2014-09-13 11:47:58

+0

你想在'customAdapter'類中做? – 2014-09-13 11:57:02

+0

謝謝nadeem。我沒有解決,但我得到了問題,所以它會克服。 – 2014-09-15 06:40:09