2012-12-21 22 views
1

有没有办法让一个ScrollListener中的Fling(向上或向下)方向连接到一个ListView?我没有问题就得到了OnScrollListener.SCROLL_STATE_FLING,但我无法得到方向。我是否必须编写一个完整的GestureListener和onTouch监听器,并将其附加到我的ListView中,或者有更简单的方法吗?我只需要更多的投掷方向。感谢您的回答。扔在ListView上 - 什么方向?

+0

尝试[this code](http://stackoverflow.com/a/12115157/1000864)在堆栈溢出 –

回答

1

我必须写一个整体GestureListener和onTouch监听器并将其连接到我的ListView这个或有更简单的方法吗?

你可以简单地使用这样的OnTouchListener:

listView.setOnTouchListener(new OnTouchListener() { 
    int before = -1; 
    @Override 
    public boolean onTouch(View v, MotionEvent event) { 
     switch(event.getAction()) { 
     case MotionEvent.ACTION_DOWN: 
      before = ((ListView) v).getFirstVisiblePosition(); 
      break; 
     case MotionEvent.ACTION_UP: 
      int now = ((ListView) v).getFirstVisiblePosition(); 
      if(now < before) 
       Log.v("onTouch", "Scroll Up"); 
      else if(now > before) 
       Log.v("onTouch", "Scroll Down"); 

     } 
     return false; 
    } 
}); 

如果只想当一个一扔恰好通知:保存OnScrollListener的onScroll()方法当前的滚动状态,并检查是否是有一腿运动。

+0

简单和工作!谢谢 –