在RecyclerView中更改每三张卡的颜色

时间:2015-10-01 07:09:53

标签: android-recyclerview background-color android-cardview

我已使用CardViewRecyclerView实施了代码。 我的列表有15个项目,现在我想更改列表中的每个奇怪的CardView背景颜色。 请为CardView中的新用户提供正确的代码。 我尝试过简单的奇数偶数代码。 这是代码:

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);
    }
}

2 个答案:

答案 0 :(得分:5)

您应该使用%operator。

应使用

位置%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);
}

答案 1 :(得分: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));

    }
}

//此代码用于奇数偶数行项目。