在RecyclerView.Adapter中更改textView颜色

我想根据数据变量在适配器的onBindViewHolder中更改textView的颜色。我已经试过了

if (survey.getAnonymous() == 0) {
    holder.surveyIcon.setImageResource(R.drawable.ic_x);
    holder.surveyAnonymous.setTextColor(R.color.red);
} else {
    holder.surveyIcon.setImageResource(R.drawable.ic_check);
    holder.surveyAnonymous.setTextColor(R.color.green);
}

R.color.red is underlined in red and says

应该使用getResources()。getColor(R.color.red)

我尝试过,这也给我一个错误。 我已经尝试过这些:

holder.surveyAnonymous.setTextColor(R.color.red);
holder.surveyAnonymous.setTextColor(getResources().getColor(R.color.red));
holder.surveyAnonymous.setTextColor(getColor(R.color.red));
holder.surveyAnonymous.setTextColor(Color.parseColor(R.color.red);

这些都不起作用,总是用红色下划线标出,这样做的正确方法是什么?

评论
  • 卡布奇~诺
    卡布奇~诺 回复

    int getColor (Context context, int id)

     holder.surveyAnonymous.setTextColor(ContextCompat.getColor(contextObject,(R.color.red)));
    

    费耶

    Color.parseColor - Parse the color string, and return the corresponding color-int.

    holder.surveyAnonymous.setTextColor(Color.parseColor("#54D66A");