I have a Button which sets both onLongClickListener & onClickListener :
onLongClickListener :
@Override public boolean onLongClick(View v) { do something ... return true; } onClickListener :
@Override public void onClick(View v) { do something else ... } When I long click the button, onLongClick fires repeatly (sometimes onClick fires too when I release the button, it's weird @@") What I want is to make the onLongClick be triggered only once for one long press. So I modified the code :
onLongClickListener :
@Override public boolean onLongClick(View v) { do something ... myButton.setLongClickable(false); return true; } onClickListener :
@Override public void onClick(View v) { myButton.setLongClickable(true); do something else ... } Unfortunately, the onClick callback was locked too after onLongClick fires! I cant unlock the button anymore :| Whats wrong with my code? Also, why onClick sometimes works when I release my button after a long click?