还是先上效果图,我们在查看小说目录时,可以看到正在阅读的章节字体为红色,其余章节字体为黑色。
主要解决方式来自于 https://blog.csdn.net/qq_34882161/article/details/54944188,感谢!
思路在于将当前章节的章节名传递给adapter,然后调用notifydata,此时会调用onBindViewHolder重新绘制,我们在这个函数中进行比较,把与传入的章节名相同的ViewHolder的章节名的字体颜色设置为红色,其余字体颜色为黑色。与上篇文章不同的是,这里当我点击其他章节时会关闭RecyclerView,因此我并没有使用lastView记录上一个章节的ViewHolder,只要每次打开RecyclerView时重新传入当前章节名就好了。
if (mBookChapter.equals(holder.tvChapter.getText())){
holder.tvChapter.setTextColor(mView.getResources().getColor(R.color.colorAccent));
}else{
holder.tvChapter.setTextColor(mView.getResources().getColor(R.color.black));;
}