我有一个型号UniqueUserTransModel
和一个UniqueArrayList
。最初,我拥有列表,并将其传递给适配器。
旧列表->
pos : 0, name : "user 1", transcount : 10
pos : 1, name : "user 2", transcount : 9
pos : 2, name : "user 3", transcount : 8
pos : 3, name : "user 4", transcount : 7
pos : 4, name : "user 5", transcount : 6
更新后,我有一个NewList
,并将其设置为UniqueArrayList =(新计算的ArrayList)。
新列表->
pos : 0, name : "user 2", transcount : 11
pos : 1, name : "user 1", transcount : 9
pos : 2, name : "user 3", transcount : 8
pos : 3, name : "user 4", transcount : 7
pos : 4, name : "user 5", transcount : 6
而且我刚刚从片段中调用了notifydatasetChanged
。
[前两个项目在NewList
中被交换,但没有反映在recyclerview中。
为什么不反映出来?我知道如果我清除了旧列表并重新添加了新列表,它将起作用,或者如果我添加或删除了一个新条目,它也会起作用。
不为适配器创建新的Arraylist。
清除阵列列表,并从新的阵列列表中将所有项目添加到其中。
旧ArrayList
UniqueArrayList.clear()
New Arraylist
UniqueArrayList.addAll(**name of new arraylist**)
现在再次重新加载数据集。
notifyDataSetChanged()