NestedScrollView嵌套RecyclerView,切换页面RecyclerView自动滚到(跳到)NestedScrollView顶部

NestedScrollView嵌套RecyclerView,切换页面RecyclerView自动滚到(跳到)NestedScrollView顶部

当NestedScrollView嵌套RecyclerView时候,在页面来回切换时候,比如布局文件这样嵌套写:




    

        

        
    

会发现当页面从当前布局且走,再切回来时候,id为linear_layout的LinearLayout线性布局不可见了,而id为recycler_view的RecyclerView却自动滚动到页面的最顶部。若当前布局是二次嵌套在ViewPgaer里面,异常情况更为明显。
原因是NestedScrollView嵌套同为可滚动组件RecyclerView时候,RecyclerView争夺到焦点,触发NestedScrollView滚动到RecyclerView的位置。
解决问题的方案是把NestedScrollView嵌套的第一个有效View(即在本例中被滚出可视区域见不到id为linear_layout的LinearLayout)设置焦点:
 

            android:focusable="true"
            android:focusableInTouchMode="true"


最终布局写法:
 




    

        
        

        
    

 

你可能感兴趣的:(Android,Android,RecyclerView)