android 清除布局缓存,android – RecyclerView:如何清除缓存/回收视图?

我使用RecyclerView显示列表布局的项目列表.我从列表布局切换到网格布局,在网格布局中只显示所有数据的一个子集.该交换机使用不同于布局列表的布局

XML.

所有这一切都很好,除了当我滚动,回收(缓存?)列表布局视图填充网格,混合在适当的网格布局视图项目.换句话说,而不是在RecyclerView中为每个项目的布局使用我的layout_grid.xml,我使用layout_list.xml布局获取项目,但是以网格格式.

这告诉我LayoutManager正常工作,从列表切换到网格布局.但是并不是所有的项目视图项目都使用网格xml布局重新创建,而是使用了循环的列表布局视图.

我尝试RecyclerView.removeAllViews(),RecyclerView.removeAllViewInLayout(),RecyclerView.swapAdapter()(强制适配器重新加载),都无济于事.

更新:

如果我在列表中向下滚动两个位置,然后从列表切换到网格,则前两个位置不会通过onCreateViewHolder(),而是直接到onBindViewHolder(),因此不会强制使用网格布局xml.相反,前两个位置项目被回收(我想)并以其列表布局格式显示.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值