这里是情况: RecyclerView的item视图具有复杂的布局。
在某个时刻,我通过以下方式修改RecyclerView项的布局:
例如:修改后的视图在itemView内的索引为3;
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()
,但旧视图仍然会重新出现。