【发布时间】:2019-11-28 01:30:31
【问题描述】:
当我从详细信息活动返回时,要从最后选择的 RecyclerView 项目中删除突出显示的背景颜色,我在onResume() 中尝试了这个:
mAdapter.notifyItemChanged(mAdapter.selectedPos);
mAdapter.selectedPos = RecyclerView.NO_POSITION;
这个在onBindViewHolder():
viewHolder.itemView.setSelected(selectedPos == position);
onBindViewHolder() 总是在onResume() 之后调用,所以selectedPos == position 给出了正确的结果,但我不明白为什么不早点调用它。
为什么我不必将selectedPos 保存在临时变量中并在selectedPos 更改后调用notifyItemChanged(temp)?
提前致谢。
【问题讨论】:
-
你可以了解android视图系统是如何工作的here。
-
谢谢,这很有趣。我想我不应该按这个顺序做。
标签: android android-recyclerview onresume notifyitemchanged