Изменение цвета текста в коде java

Мне необходимо реализовать следующее: Цвет текста в элементах RecyclerView изменяется в зависимости от даты. Если дата меньше текущей - красный, если за 3 дня - желтый, всё остальное без изменений(т.е. черный) Но у меня какая беда, цвет меняется у первый элементах в RecyclerView, то есть подсвечивает красным и желтый, но в конце списка просто рандомно элементы тоже красятся в красный и желтый цвет. Помоги решить проблему. Debug прогонял, там всё нормально. все if срабатывают как надо. Ниже будет код (p.s. всё сделал в адаптере RecyclerView).

    public void onBindViewHolder(@NonNull MyViewHolder holder, int position) {

    holder.setData(mainArray.get(position).getTitle());
    holder.tvDatetime.setText(mainArray.get(position).getDatetime());

    SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
    Date date = new Date();
    Date date1 = new Date();
    Date dateBeforce = new Date(date1.getTime() + 3 * 24 * 3600 * 1000);

    try {
        date = format.parse(mainArray.get(position).getDatetime());
    } catch (ParseException e) {
        e.printStackTrace();
    }

    int result = date.compareTo(date1);
    int result1 = date.compareTo(dateBeforce);

    if (result < 0){
        holder.tvDatetime.setTextColor(Color.RED);
    }
    else if(result == 1){
        if (result1 < 0){
            holder.tvDatetime.setTextColor(Color.YELLOW);
        }
    }
}

Ответы (1 шт):

Автор решения: VanHoha

Ответ просто, и просто нужно было разобраться, всегда при использовании оператора if в адаптере RecylerView необходимо указывать else при котором возвращать исходное значение.

→ Ссылка