页面从上到下依次:一个viewPager轮播图,然后是固定的15条同类型单列数据(下面用rvA代替),最下面是双列的大量数据(rvB)需要分页加载,大致如图(渣图大佬们凑合看)一开始rvB作为body,轮播图和固定的15条数据作为header,上拉加载并没有问题,但是那15条数据需要做一些特殊的效果,发现头做不了,于是就改了一下。然后把15条数据作为body,viewpager作为header,双列数据作为footer,这时候对双列数据也就是rvB增加了上拉加载,问题就出现了,只要rvB露出屏幕,就会无限执行加载的操作,也就是判定的是rvA滑动到底部了而不是rvB滑动到底部了,每加载一次就会增加10m的内存,大约10几次以后就oom了。困扰了很久没有找到原因。。求指点

解决方案 »

  1.   

    那你问什么要这么做呢,直接在一个页面全显示不就得了?ScrollView 与 RecyclerView 滑动冲突?
    不会解决冲突?
    教你一个懒人用的方法
      

  2.   

    点错了,直接发出去了。
    RecyclerView 嵌套RecyclerView 基本什么效果都能做。就是有些乱。
      

  3.   

    点错了,直接发出去了。
    RecyclerView 嵌套RecyclerView 基本什么效果都能做。就是有些乱。我现在在用RecyclerView 多条目,把下面的双列RecyclerView 作为一个条目了,初始会自动滚动到底部。。为啥呢
      

  4.   

    RecyclerView 自动获取焦点的原因。将其他控件设置焦点,去掉RecyclerView 焦点
      

  5.   

    要不你说说什么特殊效果那15条头在header里面做不了呢,删除动画?
      

  6.   


    15条分成3个部分做了一个indicator的效果,滚到第一部分上面切换到page1,滚到第二部分切换到page2,  要监听这15条的滚动,放在header里总是监听不到   于是就放到body了。。
      

  7.   

    想象不出来是啥样的,不过你放在header也可以监听RV的滚动呢。通过add多个head或者footer。另一种方法就是通过不同的viewtype,大家都放进body里。