Ich erstelle ein Spiel, das eine SurfaceView
benötigt, um OnTouchListener
zu implementieren. Während des Spiels möchte ich den Listener für eine bestimmte Zeit anhalten. Ich habe versucht, false aus der onTouch()
Methode zurück, aber immer noch die Methode ausgeführt. Gibt es eine andere Möglichkeit, den Hörer für einige Zeit pausiert? Und jemand bitte erklären, was falsch von onTouch()
eigentlich bedeutet zurück zu kommen?Was passiert eigentlich, wenn ich in einem OnTouchListener false zurückgebe?
Antwort
Vom View documentation:
Returns
True if the listener has consumed the event, false otherwise.
Wenn Sie true
Rückkehr sagen Sie android, dass die Presse gesorgt wird. Vergiss es.
Wenn Sie false
zurückgeben, sagen Sie grundsätzlich "Nicht mein Problem, jemand anderes wird sich um diesen Klick kümmern müssen". Dann wird Android das Ereignis an andere Ansichten weitergeben, die Ihrer Ansicht nach sein könnten.
müssen Sie Ihre Implementierung abmelden. Sie können dies tun, indem Sie null
als Parameter angeben. Stellen Sie es erneut ein, wenn der Pause-Modus endet. Wenn Sie return true
eingeben, wird das Berührungsereignis nicht an andere mögliche Ansichten übergeben.
Wenn Sie true zurückgeben, signalisieren Sie dem System, dass Sie das Ereignis wie in der documentation gesehen verbraucht haben. Dies bedeutet, dass andere Ansichten, die ebenfalls über einen Touchlistener verfügen, dieses Ereignis nicht zur Bearbeitung erhalten. Wenn Sie false zurückgeben, wird das Ereignis an die übergeordneten Ansichten zur Behandlung übergeben.
Wenn Sie beispielsweise ein ListView in einem Viewpager verschachtelt haben, ist die Listview die erste Ansicht, die das touchevent verarbeiten kann. Wenn es sich um einen horizontalen Swipe handelt, wird das Ereignis nicht über die Listview behandelt und der viewpager kann den Swipe verarbeiten.
- 1. Was passiert, wenn ich einen Zeiger zurückgebe?
- 2. Was passiert eigentlich, wenn ApplicationCommands.Close
- 3. Was passiert eigentlich in lwz?
- 4. Was passiert, wenn der Ausdruck in einem Übereinstimmungsarm false zurückgibt?
- 5. Was passiert eigentlich, wenn Sie cudaMalloc im Gerät anrufen?
- 6. Was passiert eigentlich mit CSS im Hochkontrastmodus?
- 7. Was passiert eigentlich, wenn ich einen int in einen String konvertiere?
- 8. Was passiert, wenn ich eine AliasProperty anbinde?
- 9. Was passiert, wenn NSTimer in
- 10. Was passiert eigentlich, wenn in einer LINQ-Anweisung async/wait verwendet wird?
- 11. Was passiert, wenn make_shared
- 12. Was passiert, wenn veröffentlicht
- 13. Was Anweisung using passiert, wenn ich Injektion
- 14. Was passiert, wenn ich eine Ausnahme erstelle?
- 15. Was passiert, wenn ich web.config bearbeite?
- 16. Was passiert, wenn ich mehrere Male request
- 17. Was passiert, wenn ich "BufferStrategy.show()" anrufe?
- 18. Was passiert, wenn ich DOES zweimal anrufe?
- 19. Wenn ich über Ajax (Google Geocoding) nicht zurückgebe, was ich will
- 20. Wie kann ich die Bilder in einem ImageButton in Android ändern, wenn ich einen OnTouchListener verwende?
- 21. Was passiert eigentlich, wenn wir beim Erstellen eines Stream-Objekts eine Verbindung zur Datei öffnen? Sprich
- 22. was mag in Facebook passiert, wenn ich Seitentitel
- 23. Was passiert, wenn php.ini fehlt?
- 24. Was passiert, wenn Kernel delayed_work
- 25. Zend_Db_Table: Was passiert, wenn der Einsatz zu einem Fehler führt?
- 26. In Akka, was passiert, wenn ich() einen toten ActorRef beobachte?
- 27. was genau passiert, wenn `enableProdMode()`
- 28. Was passiert, wenn Öffnen fehlschlägt?
- 29. Was passiert, wenn kfree Funktion
- 30. Was passiert, wenn update_all fehlschlägt?