美文网首页
RecyclerView 嵌套RecyclerView 导致自动

RecyclerView 嵌套RecyclerView 导致自动

作者: 追逐未来2016 | 来源:发表于2017-09-08 10:44 被阅读0次

    问题描述

    目前项目中发现某些页面在切换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(); 
    

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

    相关文章

      网友评论

          本文标题:RecyclerView 嵌套RecyclerView 导致自动

          本文链接:https://www.haomeiwen.com/subject/xjdgjxtx.html