我在檢測我的應用程序中的手勢有問題。 我的佈局由一個GridView,幾個TextViews和按鈕組成。Android - GridView - 手勢檢測器不起作用
我實現OnGestureListener:
在OnCreate中public class MyActivity extends Activity implements OnGestureListener{
private GestureDetector myGesture ;
則:
myGesture = new GestureDetector(this);
和覆蓋方法:
@Override
public boolean onTouchEvent(MotionEvent event){
return myGesture.onTouchEvent(event);
}
}
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
float velocityY) {
// TODO Auto-generated method stub
try {
if (Math.abs(e1.getY() - e2.getY()) > SWIPE_MAX_OFF_PATH)
return false;
if(e1.getX() - e2.getX() > SWIPE_MIN_DISTANCE && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {
//right to left fling
} else if (e2.getX() - e1.getX() > SWIPE_MIN_DISTANCE && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {
//left to right fling
}
} catch (Exception e) {
// nothing
}
return false;
}
這實際上效果很好,但不在GridView上。我在GridView之外的任何位置執行投擲,它都可以工作。在GridView上 - 絕對沒有任何反應。 我幾乎不知道該怎麼辦,所以先謝謝任何幫助。
你的gridView(或裏面的視圖)有一個消費事件的onClickListener? – ByteMe 2012-02-28 18:58:04
是的,GridView的單元格有onClickListener – ThunderSS 2012-03-02 13:20:05