在某些时候,我这样修改RecyclerVIEw项目的布局:
防爆. itemVIEw = 3中修改后的VIEw的索引;
for (int i=0; i < mRecyclerVIEw.getChildCount(); i++) { VIEwGroup itemVIEw = ((VIEwGroup) mRecyclerVIEw.getChildAt(i)); itemVIEw.getChildAt(3).getLayoutParams().wIDth = newWIDth; itemVIEw.getChildAt(3).requestLayout();}
这一切都按预期工作,但当我滚动RecyclerVIEw时,有2-3个回收的项目视图将以旧的宽度显示.现在我试图找到如何从RecycledVIEwPool中删除这些视图,甚至是更好的解决方案:修改它们的宽度,但我找不到获取这些视图的方法.
我尝试了mRecyclerVIEw.getRecycledVIEwPool().clear()但旧的视图重新出现.
解决方法@H_502_15@ 要防止RecyclerVIEw缓存分离但未回收的视图,请使用:mRecyclerVIEw.setItemVIEwCacheSize(0)
另一个稍微激进的方法是为你希望缓存的项调用notifyDataSetChanged()或notifyItemChanged() – 这将强制它们被回收,你将能够在onBindVIEwHolder()中更新它们
总结以上是内存溢出为你收集整理的android – RecyclerView:如何清除RecyclerView.RecycledViewPool中的回收视图全部内容,希望文章能够帮你解决android – RecyclerView:如何清除RecyclerView.RecycledViewPool中的回收视图所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)