Что на самом деле происходит, если я возвращаю false в OnTouchListener?

Я создаю игру, которая требует SurfaceView для реализации OnTouchListener . Во время игры я хочу приостановить прослушиватель в течение определенного времени. Я попытался вернуть false из onTouch() , но все же метод продолжает выполняться. Есть ли другой способ приостановить прослушивание на какое-то время? И кто-нибудь, пожалуйста, объясните, что означает возврат false из onTouch() ?

    Из документации View :

     Returns True if the listener has consumed the event, false otherwise. 

    Если вы вернетесь, вы сообщите андроиду, что пресса позаботится. Забудь это.

    Если вы вернете false вы в основном говорите: «Не моя проблема, кому-то придется позаботиться об этом клике». Затем андроид передаст событие вниз к другим представлениям, которые могут быть под вашим видом.

    Если вы вернетесь, вы сигнализируете системе, что вы потребляли событие, как видно из документации . Это означает, что другие представления, которые также имеют touchlistener, не получат это событие для обработки. Если вы вернете false, событие будет передано родительским представлениям для обработки.

    Например, если у вас есть ListView, встроенный в Viewpager, Listview – это первое представление, которое может обрабатывать touchhevent. Если это горизонтальное прокручивание, событие не будет обрабатываться через listview, и viewpager сможет обрабатывать салфетки.

    Вы должны отменить регистрацию своей реализации. Вы можете сделать это, указав null как параметр. Установите его снова, когда закончится режим паузы. Если вы return true , событие touch не будет передано другим возможным представлениям.