Comment désactiver l'action onListItemClick () si l'action gesturéedetector s'est produite
-
14-11-2019 - |
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?
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