滑动监听距离返回错误
rv_service.setLScrollListener public void onScrolled(int distanceX, int distanceY) 接口 如果调用了rv_service.scrollToPosition(0); 那么distance返回就会错乱 好像是用代码滚动的距离没有计算
可以录制个小视频我看看现象吗
呃= = 还是用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个头部
rv_service.setLScrollListener(new LRecyclerView.LScrollListener() { 这里我输出里面4个方法,都没有输出数据。没监听到?
lrecyclerView.scrollToPosition(0);后,distanceY 的数值没有归零。 请教下,如果使用了 addFooterView 怎么自定义实现setLScrollListener