Android onGestureListenerに問題があります。線形レイアウトで、3つの線形レイアウトを水平方向に並べて配置しています。線形レイアウトの位置は中央のレイアウトonCreateに設定されています。中央のレイアウトには、その中にリストビューも含まれています。レイアウトが移動するのを左または右にスワイプすると、リストビューが内部にある線形レイアウトを左または右にスワイプしようとしてもジェスチャが検出されないようですが、右または左にスワイプすると何も含まれていない他のビューはジェスチャを取得し、それに応じてビューがアニメーション化されます。以前にこの問題が発生したことがあるか、修正方法を知っている人はいますか?どんな助けでも大いに役立つでしょう
@Override
public boolean onTouchEvent(MotionEvent event) {
// TODO Auto-generated method stub
return gestureDetector.onTouchEvent(event);
}
SimpleOnGestureListener simpleOnGestureListener = new SimpleOnGestureListener() {
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
float velocityY) {
float sensitvity = 50;
if ((e1.getX() - e2.getX()) > sensitvity) {
slideLeft();
} else if ((e2.getX() - e1.getX()) > sensitvity) {
slideRight();
}
return true;
}
};
private void slideRight() {
if (swipeDirection > -1) {
if (swipeDirection == 0) {
layoutContainer.animate().translationX(theDistance - 0)
.setDuration(500);
} else {
//go to home
layoutContainer.animate().translationX(0).setDuration(500);
}
swipeDirection--;
}
}
private void slideLeft() {
if (swipeDirection < 1) {
if (swipeDirection == 0) {
layoutContainer.animate().translationX(0 - theDistance)
.setDuration(500);
} else {
layoutContainer.animate().translationX(0).setDuration(500);
}
swipeDirection++;
}
}