я должен переопределить onDown() GestureDetector.SimpleOnGestureListener?

Кажется, что есть много вопросов по этому поводу, но многие из них заключались в том, что они не могут получить touchevent, который они хотели, и решили, переопределив onDown() с возвратом true, из документа разработчика говорится

лучше всего реализовать метод onDown(), который возвращает true. Это связано с тем, что все жесты начинаются с сообщения onDown(). Если вы возвращаете false из onDown(), как GestureDetector.SimpleOnGestureListener делает по умолчанию, система предполагает, что вы хотите игнорировать остальную часть жеста.

но я не переопределял onDown(), и я переопределяю только onSingleTapUp(), я могу обнаружить событие, которое хочу, если ему нравится, что документ говорит, что он должен его игнорировать, поэтому нужно ли onDown() переопределять?


person cajsaiko    schedule 16.11.2014    source источник


Ответы (1)


Да, onDown должен возвращать true, если вы хотите, чтобы SimpleOnGestureListener работал, получал будущие события касания, в случае false

другие методы GestureDetector.OnGestureListener никогда не вызываются

Если вы не хотите возвращать false, вам придется реализовать свой пользовательский детектор.

person Mostafa Gazar    schedule 16.11.2014
comment
но даже если onDown возвращает false, он работает нормально, возможно, return false не всегда будет вызывать ошибки или есть какие-то серьезные причины обработки touchevent, я не буду с этим запутываться и возвращать true с onDown может адаптироваться к каждому сценарию, выше все, спасибо за совет! - person cajsaiko; 17.11.2014