I have a button which on Click loads another activity, but before it loads another Activity if i tap it continuously, then it launches the activity but the same activity is loaded two times or more. I have tried button.setEnabled(false) soon after button.setOnClickListener...onClick but that is not disabling the button, i am also logging a text as soon as the button is tapped, thus depending on my taps it logs the text 2 or 3 times even if i had tapped it 10 times. What i feel here is before the button can listen to tap events, i am tapping it so fast that it listens to all those events as many times as i tap it.
Thus i need something where the button can just listen one tap and then disable it.
please help
This can be considered as an android-bug. You are right with your assumption, that the click-event is caught by the system, and may be provided too late, if one clicks continuously on a clickable. You can try to get around this problem by inserting a
boolean
value like thisthis will ensure, that even if
onClick
is triggered more that once, the Code inside gets executed only once...more preferred solution is,
Its known issue.Basically u can set the flag.
Try
Button.setEnabled(true/false)
like this :You can also check
Button
is enabled or not by callingButton.isEnabled()
.For More about
Button
Read This…I too had a similar problem but I was able to disable the button in the
onClick()
callback method of the listener by using button.setEnabled(false) of the button. I enable the button at theonResume()
,onRestart()
andonWindowFocusChanged()
of the activity that has the button.And I assume this is one of the way to disallow user to tap a button (continuously).
I also had the same problem and this is how I solved it :