Подтвердить что ты не робот

Разница в использовании метода MotionEvent.getAction()

В чем разница между двумя подходами ниже?

 int action1 = event.getAction() & MotionEvent.ACTION_MASK;

 int action2 = event.getAction();
4b9b3361

Ответ 1

ACTION_MASK используется для разделения действительного действия и идентификатора указателя (например, касания первого пальца, второго пальца и т.д.) Первые 8 бит значения, возвращаемого в getAction() - это действительная часть действия, и поэтому, когда вы побитовое - и оно с маской действия ( = 11111111 = 255 = 0xff), вы остаетесь только с действием и ни с какой информацией указателя.

Имейте в виду, что & используется как арифметический оператор (поразрядный), а не логический оператор (единственный & - вполне допустимый логический оператор в Java, как и &&). `