我有一个recyclerView,它的每个项目都包含一个问题标题,并且其中还包含一个recyclerView。单击发送按钮时,我想更改第二个recyclerView内部项目的颜色。我使用以下几行代码执行此操作:
(auto.create.topics.enable=true
是RecyclerView,questionListView
是第二个RecyclerView)
ansRecycle
对于在屏幕上显示的项目,一切正常,但对于其他项目,则不存在ViewHolder,并且我无法更改其颜色。 我该怎么办?
答案 0 :(得分:1)
问题是屏幕上没有的项目不存在。 recyclerview的全部要点是它使用少量视图,并在它们离开屏幕时对其进行回收。 您应该做的是在绑定数据时执行相同的“ if”操作。
@Override
public void onBindViewHolder(MyDataViewHolder holder, int position) {
if(ch.getText().toString().equals(questions.get(i).getCorrectAnswers())){
ch.setTextColor(Color.RED);
}
}
答案 1 :(得分:0)
解决方法将是:
例如
holder.textView.setColor(question.getColor());