RecyclerView只显示第一行的bug,自己的解决方案。

在安卓开发中遇到RecyclerView只显示第一行的问题,尝试了多种网上解决方案无效。问题在于RecyclerView的嵌套和item高度设置。通过调整item布局高度避免使用match_parent,以及检查RecyclerView的padding和focus设置,最终解决了问题。

安卓某micro project做的时候碰到关于RecyclerView显示不全的bug,折磨了几天,网上的solution并不奏效。


首先是一个gallery,这个gallery先是有个swipeRefreshLayout,里面镶嵌了一个RecyclerView,设置是列数为3的GridLayout。


首先看问题图片:



很明显,recyclerView中只显示了第一行。


网上搜了很多的blog,说是什么scrollView嵌套RecyclerView会出bug;也有人的case是自己的item设置的高度是match_parent导致第一行3个ITEM就占了满屏;或者有人说这里面嵌套gridView会出问题,建议重写其onMeasured函数。自己本来是想重写函数,结果根本找不到这个OnMeasured函数,无法override。


在这里卡了几天,几乎崩溃,甚至自己下了别人的程序,看了看别人怎么用的。结果就是:一样的调用逻辑,相同的组件嵌套,然后博主把自己的onCreateViewHolder函数写的跟人家的一样,布局改到一样,结果:人家的视图是这样的:

评论 31
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值