Изменить цвет textView в RecyclerView.Adapter - PullRequest
1 голос
/ 24 апреля 2020

Я хочу изменить цвет textView в onBindViewHolder в адаптере в зависимости от переменной данных. Я пробовал это

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 подчеркнуто красным и говорит

Следует использовать 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);

Ничего из этого не сработало и всегда подчеркивается красным, как правильно это сделать?

1 Ответ

1 голос
/ 24 апреля 2020

int getColor (Контекст контекста, int id)

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

FYI

Color.parseColor - Разобрать строку цвета и вернуть соответствующий цвет.

holder.surveyAnonymous.setTextColor(Color.parseColor("#54D66A");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...