[英]Android : Detect ListView scroll up and down listener
In my application trying to listen the listView scroll movement whether it is up or down. 在我的应用程序中,尝试监听listView滚动运动是向上还是向下。
contactsList.setOnScrollListener(new AbsListView.OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
view.setOnTouchListener(new View.OnTouchListener() {
private float mInitialX;
private float mInitialY;
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction())
{
case MotionEvent.ACTION_DOWN:
mInitialX = event.getX();
mInitialY = event.getY();
return true;
case MotionEvent.ACTION_MOVE:
final float x = event.getX();
final float y = event.getY();
final float yDiff = y - mInitialY;
if (yDiff > 0.0) {
Log.e("Tag ","Scroll down");
break;
} else if (yDiff < 0.0) {
Log.e("Tag ","Scroll up");
break;
}
break;
}
return false;
}
});
}
I've tried this code. 我已经试过了这段代码。 But it is not working perfectly.
但是它不能完美运行。
When I'm scrolling up , it shows in the log "Scroll Up" at first time, then it shows "Scroll Down". 当我向上滚动时,它第一次显示在日志“向上滚动”中,然后显示“向下滚动”。
Can anyone tell me why it behaves like this. 谁能告诉我为什么它会这样。
Thanks in advance :) 提前致谢 :)
尝试此解决方案 ,您的问题似乎很相似,也许跟踪滚动方向足以满足您的需求。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.