在 RecyclerView 中每隔三张卡片更改一次颜色
Change color of every third card in RecyclerView
我已经使用 RecyclerView
为 CardView
实现了代码。
我的列表有 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);
}
}
您应该使用 % 运算符。
position % 2 == 0应该用来改变奇数和偶数背景。
如果您希望每三张卡片的背景都与其他卡片不同,请使用:position % 3 == 0
伪代码示例:
if((position % 2 == 0)){
holder.cardView.setCardBackgroundColor(R.color.list_even_color);
}else{
holder.cardView.setCardBackgroundColor(R.color.list_odd_color);
}
@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));
}
}
// 此代码用于奇偶行项目。
我已经使用 RecyclerView
为 CardView
实现了代码。
我的列表有 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);
}
}
您应该使用 % 运算符。
position % 2 == 0应该用来改变奇数和偶数背景。
如果您希望每三张卡片的背景都与其他卡片不同,请使用:position % 3 == 0
伪代码示例:
if((position % 2 == 0)){
holder.cardView.setCardBackgroundColor(R.color.list_even_color);
}else{
holder.cardView.setCardBackgroundColor(R.color.list_odd_color);
}
@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));
}
}
// 此代码用于奇偶行项目。