3 ответов:
onLongClick() - это возвращает логическое значение, чтобы указать, потребляете ли вы событие, и его не следует переносить дальше. То есть верните true, чтобы указать, что вы обработали событие, и оно должно остановиться здесь; верните false, если вы его не обработали, и/или событие должно продолжаться для любых других прослушивателей при щелчке.
вы возвращаетесь
trueиз своегоonLongClick()и еще получение нормального события щелчка?редактировать, чтобы добавить: для ListView, вы можете использовать
OnItemLongClickListener. ЭлементonItemLongClick()там используется аналогичное логическое возвращаемое значение, чтобы указать, потребляло ли оно событие.
повторяя ответ в более простых терминах:
дано:
@Override public boolean onLongClick(View view) { return true; // or false }
return trueозначает, что событие будет обработано. Это обрабатывается. Никакие другие события щелчка не будут уведомлены.return falseозначает, что событие не расходуется. Любые другие события щелчка будут продолжать получать уведомления.так что если вы не хотите
onClickтакже будет срабатывать послеonLongClick, то вы должныreturn trueСonLongClickсобытие.
убедитесь, что вы переопределяете
OnClickListenerдляonClickметод. Также убедитесь, что вы переопределяетеOnLongClickListenerдляonLongClickметод. И убедитесь, что вашonLongClickвозвращаетtrue, как это будет потреблятьonClick.
Comments