Я хочу назначить собственный цвет текста для некоторых элементов в представлении реселлера, основываясь на поле объекта, который они представляют. Чтобы сделать это, в onBindViewHolder я поместил следующий код:
if(elements.get(position).colored) {
holder.element_title.setTextColor(RED);
}
Однако, когда я прокручиваю, кажется, что цвет текста остается «прикрепленным» к представлению элемента, который затем используется для показать другие предметы. Поэтому некоторые элементы выглядят красными, а не должны. Чтобы исправить это, в упражнении, содержащем обзор реселлера, я попытался добавить следующий код:
recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrollStateChanged(@NonNull RecyclerView recyclerView, int newState) {
super.onScrollStateChanged(recyclerView, newState);
myAdapter.notifyDataSetChanged();
}
});
Это, хотя и далеко не оптимально, кажется, решает проблему, когда я прокручиваю вниз, а не когда прокрутите вверх.
Как я могу решить эту проблему?