Android 具有不同项目背景颜色的RecyclerView

Android 具有不同项目背景颜色的RecyclerView,android,android-recyclerview,android-context,Android,Android Recyclerview,Android Context,我需要使我的RecyclerView项目的TextView显示多种背景色。我有5种不同的颜色,我需要显示后,每5个项目。 这是我的密码我知道怎么了? 我有一个错误: java.lang.NullPointerException:尝试在android.support.v4.content.ContextCompat.getColor(ContextCompat.java:409)上的空对象引用上调用虚拟方法“int-android.content.Context.getColor(int)” 公共

我需要使我的RecyclerView项目的TextView显示多种背景色。我有5种不同的颜色,我需要显示后,每5个项目。 这是我的密码我知道怎么了? 我有一个错误:

java.lang.NullPointerException:尝试在android.support.v4.content.ContextCompat.getColor(ContextCompat.java:409)上的空对象引用上调用虚拟方法“int-android.content.Context.getColor(int)”

公共类AdapterHumers扩展了RecyclerView.Adapter{
列表数组;
语境;
公共适配器用户(列表){
this.listary=List;
}
@凌驾
公共无效onBindViewHolder(MyViewholder,int位置){
humur data=listary.get(位置);
如果(位置%5==0){
holder.textlabelhumur.setBackgroundColor(ContextCompat.getColor(context,R.color.color1));
}否则如果(位置%5==1){
holder.textlabelhumur.setBackgroundColor(ContextCompat.getColor(context,R.color.color2));
}否则如果(位置%5==2){
holder.textlabelhumur.setBackgroundColor(ContextCompat.getColor(context,R.color.color3));
}否则如果(位置%5==3){
holder.textlabelhumur.setBackgroundColor(ContextCompat.getColor(context,R.color.color4));
}否则如果(位置%5==4){
holder.textlabelhumur.setBackgroundColor(ContextCompat.getColor(context,R.color.color5));
}
holder.textlabelhumur.setText(data.getlabelhumur());
}
}

此处未初始化上下文。您可以传递ActivityName。此用于在活动中创建适配器对象时访问适配器类中的上下文。

上下文未在此处初始化。您可以传递ActivityName。此可在活动中创建适配器对象时访问适配器类中的上下文。

谢谢您的帮助!!我希望当我在我的recyclerView中单击一个项目时,包含详细信息的页面(第二个活动)将与单击的项目具有相同的背景色。如何在我的setOnClickListener方法中做到这一点?感谢您使用holder在视图上使用setonclicklistner。在如下使用intent标志时,intent intent=newintent(context.getApplicationContext(),YourActivity.class);intent.setFlags(intent.FLAG\u活动\u新任务);上下文。开始触觉(意图);:我不明白如何使用“intent.setFlags(intent.FLAG_ACTIVITY_NEW_TASK);”将单击项目的背景色传递给下一个应该具有相同背景色的活动?谢谢帮助!!我希望当我在我的recyclerView中单击一个项目时,包含详细信息的页面(第二个活动)将与单击的项目具有相同的背景色。如何在我的setOnClickListener方法中做到这一点?感谢您使用holder在视图上使用setonclicklistner。在如下使用intent标志时,intent intent=newintent(context.getApplicationContext(),YourActivity.class);intent.setFlags(intent.FLAG\u活动\u新任务);上下文。开始触觉(意图);:我不明白如何使用“intent.setFlags(intent.FLAG_ACTIVITY_NEW_TASK);”将单击项目的背景色传递给下一个应该具有相同背景色的活动?
public class AdapterHumeurs extends RecyclerView.Adapter<AdapterHumeurs.MyViewholder> {

    List<Humeur> listArray;
    Context context;

    public AdapterHumeurs(List<Humeur> List){
        this.listArray = List;
    }
    @Override
        public void onBindViewHolder(MyViewholder holder, int position) {

            Humeur data = listArray.get ( position );

            if(position % 5 == 0){
                holder.TextLabelHumeur.setBackgroundColor(ContextCompat.getColor(context,R.color.color1));
            }else if(position % 5 == 1){
                holder.TextLabelHumeur.setBackgroundColor(ContextCompat.getColor(context,R.color.color2));
            }else if(position % 5 == 2){
                holder.TextLabelHumeur.setBackgroundColor(ContextCompat.getColor(context,R.color.color3));
            }else if(position % 5 == 3){
                holder.TextLabelHumeur.setBackgroundColor(ContextCompat.getColor(context,R.color.color4));
            }else if(position % 5 == 4){
                holder.TextLabelHumeur.setBackgroundColor(ContextCompat.getColor(context,R.color.color5));
            }

            holder.TextLabelHumeur.setText ( data.getLabelHumeur ( ) );
        }
}