2014-09-13 80 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