Я рассмотрел ответы здесь - Android Предотвращение двойного нажатия на кнопку
и реализовано решение qezt вроде, и я пробовал setEnabled(false)
как это -
doneButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// mis-clicking prevention, using threshold of 1 second
if (SystemClock.elapsedRealtime() - doneButtonClickTime < 1000){
return;
}
//store time of button click
doneButtonClickTime = SystemClock.elapsedRealtime();
doneButton.setEnabled(false);
//do actual work
}
});
Ни одна из них не работает против быстрых двойных щелчков.
Примечание. После завершения обработки я не устанавливаю doneButton.setEnabled(true)
. Я просто заканчиваю() активность, поэтому нет необходимости слишком быстро активировать кнопку.