Meine App verfügt über eine Ansicht, die anklickbar ist, und wenn diese Ansicht angeklickt wird, sollte ein handleClickEvent() aufgerufen werden. Ich habe versucht, einen OnClickListener für die Ansicht zu setzen, aber wenn der Benutzer zweimal auf die Ansicht tippt, wird handleClickEvent() zweimal aufgerufen. Ich möchte nicht, dass es beim Doppeltippen zweimal aufgerufen wird. I.e. Ich möchte, dass handleClickEvent() ONCE sowohl für Einzelklick als auch Doppeltipp genannt wird.Android vermeiden Sie das Anrufen einzelner Tipp zweimal für Doppeltipp, ohne onSingleTapConfirmed
Ich habe einige Nachforschungen gemacht und diese Frage herausgefunden: Android detecting double tap without single tap first Ich habe versucht, was in der Antwort vorgeschlagen, d. H. Ein GestureDetector mit onSingleTapConfirmed() -Methode implementieren. Das hat funktioniert, aber ich bemerke, dass es eine merkliche Verzögerung bei der Antwortzeit gibt, verglichen mit der Verwendung von OnClickListener. Ich nehme an, dass onSingleTapConfirmed() nur aufgerufen wird, nachdem das System bestätigt, dass es sich um ein einzelnes Tippen handelt, indem es auf einen bestimmten Zeitraum wartet.
Gibt es das trotzdem ohne merkliche Verzögerung? Eine weitere Option, die ich mir vorstellen kann, ist eine lastClickedTimeStamp-Membervariable zu haben, die aktuelle Zeit zu vergleichen, wenn auf lastClickedTimeStamp geklickt wird, und wenn sie innerhalb eines bestimmten Schwellenwerts liegt, nichts tun.
Ich frage mich, ob es andere Optionen gibt?
Vielen Dank!
Sie auf dieser Ansicht Berührungsereignis eingestellt Vielen beziehen! Ja, ich denke, das wird funktionieren. Ich habe mich nur gefragt, ob da etwas eingebaut ist, das es könnte. Wenn nicht, werde ich mit diesem Ansatz fortfahren. – HeyThere