如何更改由livingata更改的recyclerview行的格式?

问题描述 投票:0回答:1

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

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

如果用户点击我的RecyclerView的任何项目,则quizTask将被更改,并将依次触发onChanged事件。根据用户点击的项目,我想更改RecyclerView的几个项目的字体颜色。为此,我需要在Activity中对上面提到的observe方法中的每一行进行引用。我怎么解决这个问题?

android android-recyclerview android-architecture-components android-livedata
1个回答
0
投票

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

adapter.setData(DataToPass)

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

© www.soinside.com 2019 - 2024. All rights reserved.