Android 是否有更有效的方法向RecyclerView文本添加不同的颜色?

Android 是否有更有效的方法向RecyclerView文本添加不同的颜色?,android,android-recyclerview,Android,Android Recyclerview,虽然这种方法有效,并且完成了工作,但我觉得必须有一种更有效的方法来完成这项工作。我试图创建一个包含颜色的数组,并使用for循环添加它们,但没有成功。。。任何建议都将不胜感激。请参阅下面的代码。谢谢 @Override public void onBindViewHolder(LineViewHolder holder, int position) { holder.lineName.setText(lineList.get(position).getLineName())

虽然这种方法有效,并且完成了工作,但我觉得必须有一种更有效的方法来完成这项工作。我试图创建一个包含颜色的数组,并使用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.将颜色添加到
整数[]
数组

2.使用
holder.lineName.setBackgroundColor(颜色[位置])在您的代码中

像这样试试

Integer[] colors = {Color.RED,Color.BLUE,Color.GREEN};
holder.lineName.setBackgroundColor(colors[position]);

设置一个
static
14位置
Color[]
数组,为每个位置分配值。参考
Color[]
数组以获取
onBindViewHolder()中
位置的
颜色。