2014-10-21 11 views
8

Mam widok z długim słuchaczem. Spowoduje to uruchomienie pełnego okna dialogowego. Potrzebuję przechwycić zdarzenia dotykowe w tym oknie dialogowym (szczególnie ACTION_UP), ale ponieważ ACTION_DOWN został przechwycony przez pierwszy widok i nigdy nie został zwolniony, nie otrzymuję żadnych zdarzeń w oknie dialogowym.Uzyskiwanie zdarzeń dotyku w oknie dialogowym, które się pokazuje, gdy palec był już dotykany na ekranie.

Oprócz słuchacza w widoku, który mówi okno dialogowe, gdy dzieje się ACTION_UP, czy znasz inny sposób wykrywania ACTION_UP w tym przypadku z perspektywy okna dialogowego?

+0

Może powinieneś zwolnić odbiornik długiego kliknięcia (ustaw go na wartość null) po kliknięciu (i przywróceniu podczas zamykania okna dialogowego). – oznus

+0

Nie używam detektora, ale metodę onTouchEvent widoku. Próbowałem ustawić flagę, aby zwracała wartość false zamiast wartości true dla tej metody, ale wyniki były takie same. Próbowałem też zmienić wszystko na słuchaczy z tymi samymi wynikami. Warto było, dzięki. – CapitanNerd

+0

Czy kiedykolwiek to rozwiązałeś? –

Odpowiedz

0

Możesz spróbować zwrócić wartość false na OnLongClickListener, aby zdarzenie nie zostało zużyte przez pierwszy widok, a to może pozwolić twojemu drugiemu dialogowi zobaczyć działanie Click.

+0

Niestety metoda onLongPress w GestureListener zwraca wartość void, a nie boolean. To samo z onLongPressListener. – CapitanNerd

Powiązane problemy