0

我已使用RecyclerView实施了代码CardView。 我的清单有15个项目,现在我想更改列表中每个奇怪的CardView背景颜色。 请提供适当的代码,因为我是CardView。 我曾尝试过简单的奇偶码。 下面是代码:更改RecyclerView中每第三张卡片的颜色

在onBindViewHolder方法:

@Override 
public void onBindViewHolder(final DataHolder holder, int position) { 
    holder.tv1.setText(result[position]); 
    imageLoader.displayImage("drawable://" + imgs[position], holder.iv1, options); 

    for(int i =0; i <= imgs.length;i+=2) 
    { 
     holder.cv1.setCardBackgroundColor(R.color.colorAccent); 
    } 
} 
+0

这将改变所有cardview背景颜色。 –

+0

如果有人仍然有这个问题..我已经解决了它..不使用For循环。 –

回答

5

您应该使用%运算符。

position%2 == 0应该用来改变奇数和偶数背景。

如果你想每隔第三张牌有来自其他不同的背景使用:位置%3 == 0

伪代码示例:

if((position % 2 == 0)){ 
    holder.cardView.setCardBackgroundColor(R.color.list_even_color); 
}else{ 
    holder.cardView.setCardBackgroundColor(R.color.list_odd_color); 
} 
2
@Override 
public void onBindViewHolder(ViewHolder holder, final int position) { 

    if(position%2==0){ 

     holder.rowLinearLayout.setBackgroundColor(ContextCompat.getColor(context,R.color.color1)); 

    }else{ 
     holder.rowLinearLayout.setBackgroundColor(ContextCompat.getColor(context,R.color.color2)); 

    } 
} 

//这个代码奇数偶数行项目。