由于实时数据的更改,如何更改recyclerview行的格式?

时间:2019-04-09 20:36:13

标签: android android-recyclerview android-architecture-components android-livedata

我有一个标准的应用程序设置(活动,ViewModel,存储库)。该活动包含一个RecyclerView。 RecyclerView有一个适配器。在我的活动中,我通过观察LiveData对象来更新RecyclerView:

 mQuizViewModel.getCurrentQuizTask().observe(this, new Observer<QuizTask>() {
            @Override
            public void onChanged(QuizTask quizTask){
                adapter.setAnswers(quizTask.getAnswers());
                }
        });

如果用户点击了我的RecyclerView的任何项目,则quizTask将被更改,并依次触发onChanged事件。根据用户点击的项目,我想更改RecyclerView的一些项目的字体颜色。为此,我需要引用上述Activity中的上述watch方法中的每一行。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

我很容易地解决了这个问题。我在适配器的onBindViewHolder方法中更改颜色。我在对象的类中添加了一个字段,该字段通过

传递给适配器
adapter.setData(DataToPass)

在onBindViewHolder方法中,如果满足条件以更改文本颜色,我将检查包裹在DataToPass中的其他信息。