Android -Как обрабатывать касание двумя пальцами

В документации об этом говорится:

A gesture starts with a motion event with ACTION_DOWN that provides the location of the first pointer down. As each additional pointer that goes down or up, the framework will generate a motion event with ACTION_POINTER_DOWN or ACTION_POINTER_UP accordingly.

Итак, я сделал переопределение функции onTouchEvent в своей деятельности :

@Override
public boolean onTouchEvent(MotionEvent MEvent) 
{

    motionaction = MEvent.getAction();

    if(motionaction == MotionEvent.ACTION_DOWN)
    {
        System.out.println("DEBUG MESSAGE POINTER1 " + MEvent.getActionIndex() );
    }

    if(motionaction == MotionEvent.ACTION_POINTER_DOWN)
    {
        System.out.println("DEBUG MESSAGE POINTER2 "  + MEvent.getActionIndex() );
    }

}

. К сожалению, второй if никогда не вводится. Активность содержит 2 представления с 2 OnTouchListener , я знаю, что onTouchEvent вызывается только в том случае, если представление активности не потребляет событие, поэтому я попытался вернуть false в прослушивателе и таким образом, я могу распознать только касание первого пальца, но это позволяет слушателю не получать событие ACTION _UP и не позволяет мне распознавать касание вторым пальцем. Я также пытался вернуть true в прослушивателе, но после ручного вызова функции onTouchEvent, но это также позволило мне распознать только первое касание пальца.

Что не так в моем коде?

6
задан JasonMArcher 28 May 2014 в 22:38
поделиться