虽然这种方法有效并完成了工作,但我觉得必须有一种更有效的方法来做到这一点。我试图制作一个包含颜色的数组并使用 for 循环添加它们,但未能使其正常工作......任何建议将不胜感激。请看下面的代码。谢谢
@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.为Integer[]
数组添加颜色
2.holder.lineName.setBackgroundColor(colors[position]);
在你的代码中使用
试试这样。
Integer[] colors = {Color.RED,Color.BLUE,Color.GREEN};
holder.lineName.setBackgroundColor(colors[position]);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句