I have looked at the answers here - Android Preventing Double Click On A Button
and implemented qezt's solution like and I've tried setEnabled(false)
like so -
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
}
});
Neither of these work against super fast double clicks.
Note - I'm not setting doneButton.setEnabled(true)
after my processing is done. I simply finish() the activity so there is no issue of the button getting enabled too soon.