LRecyclerView icon indicating copy to clipboard operation
LRecyclerView copied to clipboard

滑动监听距离返回错误

Open SMask opened this issue 9 years ago • 4 comments

rv_service.setLScrollListener public void onScrolled(int distanceX, int distanceY) 接口 如果调用了rv_service.scrollToPosition(0); 那么distance返回就会错乱 好像是用代码滚动的距离没有计算

SMask avatar Mar 27 '17 07:03 SMask

可以录制个小视频我看看现象吗

jdsjlzx avatar Mar 27 '17 08:03 jdsjlzx

呃= = 还是用log看的比较清楚吧 1.RecyclerView放一堆假数据,好几屏的那种 2.RecyclerView设置滚动监听 rv_service.setLScrollListener(new LRecyclerView.LScrollListener() { @Override public void onScrollUp() {

        }

        @Override
        public void onScrollDown() {

        }

        @Override
        public void onScrolled(int distanceX, int distanceY) {
            LogUtil.i("onScrolled distanceY:" + distanceY);
            layout_return_top.setVisibility(distanceY >= screenHeight ? View.VISIBLE : View.INVISIBLE);
        }

        @Override
        public void onScrollStateChanged(int state) {

        }
    });

3.随便找个按钮写个RecyclerView返回到顶部的监听 layout_return_top.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { rv_service.scrollToPosition(0); } }); 4.先手动上下滑一段距离(现在distanceY是正常的) 5.然后往上滑几千px之后,点按钮 触发返回顶部 scrollToPosition(0)方法,RecyclerView会唰一下就去顶部了 6.看log日志,distanceY 的数值没有归零,还是之前点按钮时的值 7.现在再上下滑动,distanceY 的值就错乱了

ex:我写的时候RecyclerView加了4个头部

SMask avatar Mar 27 '17 09:03 SMask

rv_service.setLScrollListener(new LRecyclerView.LScrollListener() { 这里我输出里面4个方法,都没有输出数据。没监听到?

HH-Ding avatar May 16 '17 04:05 HH-Ding

lrecyclerView.scrollToPosition(0);后,distanceY 的数值没有归零。 请教下,如果使用了 addFooterView 怎么自定义实现setLScrollListener

yixi195 avatar Apr 09 '18 11:04 yixi195