RecyclerView抢先获取焦点问题

1. 概述

有时候在我们开发过程中,在使用 RecyclerView加载多种类型布局的时候,比如有:搜索框、BannerView、GridView、TabLayout、列表数据、固定的文字布局,可能会出现 RecyclerView抢先获取焦点问题,刚打开界面时直接显示 RecyclerView的列表数据,而不是正常的先显示 最上边的搜索框、BannerView、GridView、TabLayout等。

如下图所示:第一张是正常显示的,但是有时候刚进入界面时会直接显示最下边的列表数据,而把列表上边的布局直接顶上去了,这个就是 rv抢先获取焦点问题;

第一张:


图片.png

第二张:


图片.png

对于这种问题解决方案很简单,只需要在 rv 加载多种布局的 第一个布局的根布局中添加
android:focusable="true"
android:focusableInTouchMode="true"
添加这两个属性就可以。
我项目中的第一个item是 BannerView,就直接在 BannerView的根布局中添加这两个属性就可以。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容