Android 是否有更有效的方法向RecyclerView文本添加不同的颜色?
虽然这种方法有效,并且完成了工作,但我觉得必须有一种更有效的方法来完成这项工作。我试图创建一个包含颜色的数组,并使用for循环添加它们,但没有成功。。。任何建议都将不胜感激。请参阅下面的代码。谢谢Android 是否有更有效的方法向RecyclerView文本添加不同的颜色?,android,android-recyclerview,Android,Android Recyclerview,虽然这种方法有效,并且完成了工作,但我觉得必须有一种更有效的方法来完成这项工作。我试图创建一个包含颜色的数组,并使用for循环添加它们,但没有成功。。。任何建议都将不胜感激。请参阅下面的代码。谢谢 @Override public void onBindViewHolder(LineViewHolder holder, int position) { holder.lineName.setText(lineList.get(position).getLineName())
@Override
public void onBindViewHolder(LineViewHolder holder, int position) {
holder.lineName.setText(lineList.get(position).getLineName());
holder.lineStatus.setText(lineList.get(position).getLineStatus());
if(position==0)
holder.lineName.setBackgroundColor(Color.RED);
else if(position==1)
holder.lineName.setBackgroundColor(Color.BLUE);
else if(position==2)
holder.lineName.setBackgroundColor(Color.GREEN);
else if(position==3)
holder.lineName.setBackgroundColor(Color.YELLOW);
else if(position==4)
holder.lineName.setBackgroundColor(Color.DKGRAY);
else if(position==5)
holder.lineName.setBackgroundColor(Color.BLUE);
else if(position==6)
holder.lineName.setBackgroundColor(Color.RED);
else if(position==7)
holder.lineName.setBackgroundColor(Color.DKGRAY);
else if(position==8)
holder.lineName.setBackgroundColor(Color.YELLOW);
else if(position==9)
holder.lineName.setBackgroundColor(Color.GREEN);
else if(position==10)
holder.lineName.setBackgroundColor(Color.YELLOW);
else if(position==11)
holder.lineName.setBackgroundColor(Color.RED);
else if(position==12)
holder.lineName.setBackgroundColor(Color.DKGRAY);
else if(position==13)
holder.lineName.setBackgroundColor(Color.GREEN);
}
1.将颜色添加到
整数[]
数组
2.使用holder.lineName.setBackgroundColor(颜色[位置])代码>在您的代码中
像这样试试
Integer[] colors = {Color.RED,Color.BLUE,Color.GREEN};
holder.lineName.setBackgroundColor(colors[position]);
设置一个static
14位置Color[]
数组,为每个位置分配值。参考Color[]
数组以获取onBindViewHolder()中位置的颜色。