我有一个RecyclerView
如下图所示:
这是此设置代码RecyclerView
:
RecyclerView.LayoutManager layoutManager = new GridLayoutManager(this, 2);
dataRecyclerView.setLayoutManager(layoutManager);
dataRecyclerView.addItemDecoration(new GridSpacingItemDecoration(...);
dataRecyclerView.setItemAnimator(new DefaultItemAnimator());
在开始更新 RecyclerView 的选定项目的新活动后,RecyclerView 将重新填充新数据以反映新更改,但我得到以下结果:
当我向下滚动时,我得到了这个差距:
刷新后我尝试调用RecyclerView#invalidate()
, #invalidateItemDecorations()
,#requestLayout()
但无济于事;&我也没有打电话setHasFixedSize(true)
给RecyclerView
.
究竟是什么问题?如何调整子项的大小,以便它们在刷新后精确地包装内容?
(PS:我尝试在不进行任何更改的情况下进行刷新,但什么也没发生,这证明了我的理论,即只有当子项目的高度发生变化时才会出现问题。)