Je jouais avec GestureDetector et notez que la méthode onFling n'est jamais appelée lors de l'exécution dans l'émulateur sur OSX.onFling n'étant pas appelé sur OSX Emulator?
Je pourrais le faire fonctionner sous windows, mais pas sur osx.
J'ai utilisé le code excellent à ce poste: Fling gesture detection on grid layout
Voici le code:
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
gestureDetector = new GestureDetector(new MyGestureDetector());
}
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
gestureDetector.onTouchEvent(event);
return false;
}
protected void addFlingSupportToView(int view) {
// TODO Auto-generated method stub
View v = (View) findViewById(view);
v.setOnTouchListener(this);
}
class MyGestureDetector extends SimpleOnGestureListener {
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
float velocityY) {
try {
if (Math.abs(e1.getY() - e2.getY()) > SWIPE_MAX_OFF_PATH)
return false;
// right to left swipe
if (e1.getX() - e2.getX() > SWIPE_MIN_DISTANCE
&& Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {
} else if (e2.getX() - e1.getX() > SWIPE_MIN_DISTANCE
&& Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {
// Log.i("vampidroid", CryptDetails.this.toString());
finish();
}
} catch (Exception e) {
// nothing
}
return false;
}
}
Le problème est que même si la OnTouch est appelée, l'événement OnFling est jamais appelé! Je jouais avec ce code sur windows et ça marchait bien. Quand j'ai changé pour osx et que je l'ai essayé, ça n'a pas marché.
Sur l'appareil, le code fonctionne comme prévu.
Avez-vous une idée de ce que cela pourrait être? Est-ce lié uniquement à osx?
Je n'ai rien trouvé ici sur le Net, donc je pense que c'est peut-être seulement avec moi ou personne n'a vérifié cela.
Merci d'avance.
Cela me semble bizarre car l'entrée est traitée de la même manière. – Rob