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.
 
     
     
     
     
     
     
     
     
     
     
     
     
     
    