RecyclerView 嵌套RecyclerView 导致自动

2017-09-08  本文已影响0人  追逐未来2016

问题描述

目前项目中发现某些页面在切换tab,或者下拉刷新的时候, 会发现自动滚动的情况, 经排查发现是RecyclerView 嵌套RecyclerView, 子RecyclerView获取到焦点, 导致列表会置顶或者回滚到最后一次离开页面的位置等情况.

解决方案

子 recyclerView 抢了焦点导致子 RecyclerView自动滚动,所以我在子recyclerView设置不需要焦点

  1. RecyclerView 嵌套RecyclerView
mRecyclerView.setFocusableInTouchMode(false); //设置不需要焦点
mRecyclerView.requestFocus(); //设置焦点不需要

ScrollView当中嵌套RecyclerView 也在某些场景下也会出现, 可以尝试下面这种解决方式进行排除

  1. ScrollView当中嵌套RecyclerView
 让处于ScrollView或者RecyclerView 顶端的某个控件获得焦点即可
 比如顶部的一个textview
 tv_goodsName.setFocusableInTouchMode(true);  
 tv_goodsName.requestFocus(); 

至此, 项目中的多个页面出现自动滚动的问题得到解决, 希望这个方法能帮忙到大家, 也请各位大神有更好的解决方案给我留言, 不胜感激!

上一篇下一篇

猜你喜欢

热点阅读