MotionEvent изменится с ACTION_UP на ACTION_DOWN.Android

Форум для тех, кто программирует под Android
Anonymous
MotionEvent изменится с ACTION_UP на ACTION_DOWN.

Сообщение Anonymous »

В этом коде:

Код: Выделить всё

private static MotionEvent e1;
private static float start;

@Override
public boolean onTouchEvent(MotionEvent event) {
if (event.getActionMasked() == MotionEvent.ACTION_UP) {
MotionEvent e2 = event;
float velocityX = Math.abs((e1.getX() - e2.getX()) / start);
float velocityY = Math.abs((e1.getY() - e2.getY()) / start);
onFling(e1, event, velocityX, velocityY);//BREAKPOINT 2
} else if (event.getActionMasked() == MotionEvent.ACTION_DOWN) {
e1 = event;
start = System.currentTimeMillis() / 1000;//BREAKPOINT 1
}
return Game.onTouchEvent(event);
}
Если я поставлю точку останова в строке «BREAKPOINT 1», я получу следующее: e1.getActionMasked() равно ACTION_DOWN. Но когда он останавливается в «BREAKPOINT 2», я получаю, что e1 равно событию. Кроме того, если я добавлю && событие != e1 к первому «if», код в нем будет пропущен. Почему это происходит?

Если вы хотите знать, почему я использую этот подход для замены onFling(), посмотрите это: onFling не вызывается в представлении костюма

Подробнее здесь: https://stackoverflow.com/questions/282 ... ction-down

Вернуться в «Android»