RecyclerView嵌套子RecyclerView焦点抢夺引起子元素显示位置异常

RecyclerView、NestedScrollView嵌套子RecyclerView焦点抢夺引起子元素显示位置异常

错误表现是子元素抢占焦点,使得嵌套的子RecyclerView滚动到自己位置。

解决方案:

在根滚动布局View(最顶层的RecyclerView、NestedScrollView)里面设置:

android:focusableInTouchMode="true"

android:focusable="true"

在嵌套的子RecyclerView里面:

android:focusableInTouchMode="false"

android:focusable="false"

即主动失去焦点。