Question

J'ai lu le post: Détection du geste de la laine sur la mise en page de la grille et la détection des gestes implémentée. Mais j'ai le problème de suivi. Après l'action onfling () s'est produit, le onListItemClick () appelle. Comment résoudre ce problème?

Était-ce utile?

La solution 2

Le problème était dans le onfling () méthode. Cette méthode devrait revenir vrai Si l'opération est terminée avec succès, sinon appelle OnClickItemClicked ()

@Override
public boolean onFling(MotionEvent e1, MotionEvent e2,
        float velocityX, float velocityY) {
    if (e2.getAction()!=MotionEvent.ACTION_UP){

        return false;
    }

    try {
        float diffAbs = Math.abs(e1.getY() - e2.getY());
        float diff = e1.getX() - e2.getX();

        if (diffAbs > SWIPE_MAX_OFF_PATH)
            return false;

        // Left swipe
        if (diff > SWIPE_MIN_DISTANCE && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {
            listener.onLeftSwipe();

            // Right swipe
        } else if (-diff > SWIPE_MIN_DISTANCE && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {
            listener.onRightSwipe();
        }
        return true;
    } catch (Exception e) {
    }
    return false;
}

Autres conseils

Tu peux essayer

public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
   view.requestDisallowInterceptTouchEvent(true);
   .....
   view.requestDisallowInterceptTouchEvent(false);
}

Peut-être aide

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top