Ich habe mir die Antworten hier angesehen - Android verhindert Doppelklick auf eine Schaltfläche
und implementiert qezt's Lösung wie und ich habe setEnabled(false)
like so versucht -
Keine dieser Funktionen funktioniert gegen super schnelle Doppelklicks.
Hinweis - Ich setze doneButton.setEnabled(true)
nicht, nachdem meine Verarbeitung abgeschlossen ist. Ich beende einfach () die Aktivität, so dass es keinen Fehler gibt, dass die Schaltfläche zu früh aktiviert wird.
Ich verwende eine Funktion wie diese im Listener einer Schaltfläche:
%Vor%Surus Antwort hat gut für mich funktioniert, danke!
Ich möchte die folgende Antwort für jeden hinzufügen, der Ссылка und steht vor diesem Problem -
app:mrl_rippleDelayClick
ist standardmäßig wahr.
Dies bedeutet, dass onClick erst ausgeführt wird, wenn das Ripple beendet ist. Daher wird setEnabled(false)
in onClick nach einer Verzögerung ausgeführt, da die Ripple nicht ausgeführt wird und in diesem Zeitraum können Sie auf die Ansicht doppelklicken.
Setze app:mrl_rippleDelayClick="false"
, um das zu beheben. Das bedeutet, dass der Aufruf von onClick erfolgt, sobald auf die Ansicht geklickt wird, anstatt darauf zu warten, dass die Ripple nicht mehr angezeigt wird.
versuchen Sie, yourbutton.setClickable (false) zu setzen so:
%Vor%Ich habe die obige Methode in einer statischen Datei beibehalten und werde diese Methode für den gesamten Buttonklick wie folgt aufrufen
%Vor%Tags und Links android