我使用带有网格视图的循环器视图(每个项目都包含一个网格),在视图中添加图像后开始上传后显示缩略图,我需要在启动时更改模型中的某些值(状态)并完成上传。 我目前正在做的是改变模型中的值并调用notifyDataSetChanged,但它会导致应用程序变慢(挂起一些时间),因为它更新了list的每个子节点:( 任何人都能帮助我吗?
答案 0 :(得分:1)
我相信notifyDataSetChanged
会更新您的所有值,无论它们是否有变化,这都是它变慢的原因。我建议您尝试使用notifyItemChanged(int position)
。
根据recyclerview docs,这是notifyDataSetChanged
的作用:
此事件未指定数据集的更改内容,强制任何观察者假定所有现有项目和结构可能不再有效。 LayoutManagers将被迫完全重新绑定并重新布局所有可见视图。
答案 1 :(得分:0)
仅针对特定的Gridview适配器调用notifydatasetchanged()。不要将notifydatasetchanged()调用为完整的recyclerview适配器。
答案 2 :(得分:0)
尝试再次将其设置为适配器。
gridview.setAdapter(你的适配器) - 将新列表传递给适配器。