I reviewed the answers here - Android Preventing a double click on a button and implemented a qezt solution like, and I tried setEnabled(false) like this -
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 } });
None of them work against quick double clicks.
Note. After processing is complete, I do not set doneButton.setEnabled(true) . I just end () the activity, so there is no need to activate the button too quickly.
android
Mallika khullar
source share