我有一个recyclerView和一个项目列表。项目在viewModel中被观察到,当viewModel中的列表发生变化时,适配器会得到一个改变的列表。
然而,我有一个问题,当更新某些项目视图在现有的列表项目-这些变化发生,但要看到他们,我必须向上或向下滚动一点。在视图持有人中,我有所有必要的if/else情况,根据项目值更新。是否有一种方法可以即时更新项目视图,而无需滚动?
您可以调用adapter.notifyDataSetChanged()
函数强制适配器重新绘制所有项目。
在更改列表中的任何项后,应使用adapter.notifyItemChanged(int indexOfChangedItem)
或adapter.notifyDataSetChanged()
。
第一个将更新'所有'项视图,但第二个将只更新你传递它的索引的视图。