私のアプリでふらつきジェスチャーの検出に問題があります。 私のレイアウトは、GridView、数組のTextViewとボタンで構成されています。Android - GridView - GestureDetectorが機能しません
IはOnGestureListener実装:
public class MyActivity extends Activity implements OnGestureListener{
private GestureDetector myGesture ;
を次にOnCreate関数で:
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には全く反応がありません。 私は文字通り何も考えていません。どうしたらいいですか?事前に助けてくれてありがとう。
グリッドビュー(または内部のビュー)にイベントを消費しているonClickListenerがありますか? – ByteMe
はい、GridViewのセルはonClickListenerを持っています – ThunderSS