Какие события Android я использую для этой задачи? - PullRequest
0 голосов
/ 09 августа 2011

У меня есть класс Java, который относится к слушателям мыши, которые я хочу преобразовать в свое приложение для Android, но не могу найти необходимые события.

В моем приложении Java используются следующие методы:

  • mouseClicked
  • mousePressed
  • mouseReleased

Я хочу сделать что-то подобное, но не с событиями щелчка, а с событиями касания. Я наткнулся на OnTouchListener и сделал переопределение метода onTouch.

Какие есть альтернативы mousePressed и mouseReleased?


Редактировать - (обновляется после ответа Петра)

Правильны ли следующие события:

  • ACTION_DOWN: щелчок мышью
  • ACTION_MOVE: мышь нажата
  • ACTION_UP: mouseReleased

EDIT - 2 Пример источника

На данный момент у моей активности нет OnTouchListener, потому что я надеялся, что смогу сохранить всю сенсорную логику в своем виде.

Вид:

/*Inside my View - Is it proper to do onTouch logic here? 
                   Or should I be doing this from the Activity?*/

public class myView {

    public boolean onTouch(MotionEvent event) {

        switch(event.getAction() & MotionEvent.ACTION_MASK) {
            case MotionEvent.ACTION_DOWN:
                //draw arrow when screen is simply touched
                break;
            case MotionEvent.ACTION_MOVE:
                //Do Logic
                break;
            case MotionEvent.ACTION_UP:
                //Do Logic
                break;        

        }

    }
}

Причина, по которой я выполняю логику в своем View, заключается в том, что у меня есть некоторые переменные, которые я хотел бы получить напрямую, а не создавать несколько дополнительных методов get.

Могу ли я сделать это так? Или мне придется переопределить метод onTouch в моей деятельности и выполнить там логику?

Ответы [ 2 ]

3 голосов
/ 09 августа 2011

Все сенсорные события (вниз, вверх, перемещение, мультитач) обрабатываются с помощью «onTouch». Смотрите этот урок: http://www.zdnet.com/blog/burnette/how-to-use-multi-touch-in-android-2-part-3-understanding-touch-events/1775

1 голос
/ 10 августа 2011

Если вы хотите зарегистрировать клики на View, внедрите и добавьте OnClickListener к нему. Если вы хотите зарегистрировать сенсорные события, вам нужно реализовать OnTouchListener и добавить его к этому View.

...