Как избежать того, что Button с longPressListener также запускает обычную команду на longPress? - PullRequest
1 голос
/ 29 марта 2020

У меня есть Button, который я хочу иметь одно поведение при обычном нажатии (запуск Command) и другое при длительном нажатии (используя longPressListener). Однако, когда longPressing Button, он также запускает 'normalPress' Command. Как я могу гарантировать, что только longPressListener вызывается для longPress?

1 Ответ

0 голосов
/ 30 марта 2020

Нет встроенной поддержки для этого. Это то, с чем придется столкнуться вашей бизнес-логике c вручную. Основная причина этого заключается в том, что на этом этапе мы не можем знать, что долгое нажатие обработало действие.

 private boolean longPressHandled;

 void callbackFromLongPress() {
      longPressHandled = true;
      // rest of your logic...
 }

 void actionEventCallback() {
      if(longPressHandled) {
          longPressHandled = false;
          return;
      }
      // rest of your logic...
 }
...