Adapter数据变化进行UI刷新
1、方法
notifyDataSetChanged()
2、使用
对Adapter中的数据进行修改,然后调用即可
adapter.notifyDataSetChanged()
(注意,数据要修改adapter中的数据,而非赋值时的外部引用)
3、可能的问题
3.1、情况
当收到新的数据时,对RecycleViewAdapter的数据clear()后add(),项目报错
java.lang.IndexOutOfBoundsException: Inconsistency detected. Invalid view holder adapter positionViewHolder{c072831 position=26 id=-1, oldPos=-1, pLpos:-1 no parent} androidx.recyclerview.widget.RecyclerView{a024f4d VFED..... ........ 0,228-1600,2288 #7f080124 app:id/recycle_view}, adapter:com.example.projecttest.Adapter@9b36a02, layout:androidx.recyclerview.widget.LinearLayoutManager@b3cef13, context:com.example.projecttest.MainActivity@9504856
3.2、解决
在clear()后添加
adapter.notifyDataSetChanged();
进行UI刷新,以及每一次clear()数据时都进行UI的刷新。