2012-04-10 14 views
0

Ich habe ein Problem mit dem OnScroll-Ereignis des OnGestureListener.Android OnGestureListener onScroll MotionEvent

die Methodensignatur ist wie folgt:

public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY); 

Das Problem ist, dass die Motion e1 immer dieselbe nach dem ersten Durchlauf zu sein scheint. Wenn ich im Beispiel e1.getX() beim ersten srcolling mache, gibt es 100 zurück. Wenn ich dann mit dem Scrollen aufheuere und einen zweiten Bildlauf an einer anderen Stelle des Bildschirms starte, gibt es auch 100. Nur der MotionEvent e2 ändert seinen Wert.

Antwort

2

e1 ist immer das erste Bewegungsereignis für ein Berührungsereignis (das Ereignis ACTION_DOWN). e2 ist das aktuelle Bewegungsereignis.

+0

gut, aber wenn ich einen zweiten scroll, ich meine, wenn ich mit dem scrollen durch loslassen der finger vom bildschirm aufhören, und dann ein zweites scrollen e1 immer noch das gleiche ... sollte nicht immer die anfängliche e1 sein Berühren Sie beim Scrollen und nicht die erste Berührung überhaupt? –

+0

Können Sie überprüfen, ob der Hashcode zwischen zwei separaten Scrolls identisch oder unterschiedlich ist? –

+0

Wie es scheint, habe ich einen Fehler in meinem Framework beim Pufferung touchevents ... wenn ich den nativen OnTouchListener es funktioniert ... –