如题,最近做项目时偶然发现了一个Recyclerview嵌套Recycleview的问题。
业务模块是订单列表,涉及到一个订单包含多个子订单的情况,所以考虑使用嵌套来展示页面,这一切都是正常的,没有任何问题。然而,随着业务的展开需要查看详情单个条目的详情,于是乎startActivity 呗。然后,从下级页面返回回到上级页面后,出现问题了,下拉刷新卡卡的。具体如下图:
开始以为是滑动冲突的问题,因为这样一个背景:recycleview互相嵌套后出现卡顿了 ,让人很容易去第一时间想到是滑动冲突导致的。可是在完成这个部分时候我已经把内层的Recycleview的滑动给关闭了,不然在页面整体滑动的时候应该也会出现这样的问题,所以这个原因排除。那么会是神马造成的呢?
多次反复的玩弄爪机发现了一个疑点:第一次进入页面的时候,整个页面是不会出现这个问题的,问题是在页面跳转返回之后出现的,这个就非常奇怪了。于是我又查看其它模块的列表:单一没有嵌套的列表没有出现任何这样的问题。所以还是需要回归嵌套的部分。因为下拉刷新的时候,手指是滑动了一定距离后,刷新头部才出现,也就是刷新头部在响应手指滑动的时候出现问题了,会不会是焦点的问题呢?在和同事讨论过后感觉有可能是这个原因,

本文讲述了在Android项目中,由于Recyclerview嵌套Recycleview并启动详情页面后返回,导致下拉刷新出现卡顿的问题。经过排查,不是滑动冲突造成,而是在页面跳转返回后,焦点问题导致下拉刷新头部响应异常。通过禁止内部RecyclerView自动获取焦点,成功解决了此问题。

1699

被折叠的 条评论
为什么被折叠?



