Jaka jest różnica między metodami onKey(), OnKeyDown() i dispatchKeyEvent() dostarczanymi przez system Android?
Chciałbym wiedzieć, kiedy i gdzie każdy z nich może być użyty.
Proszę rzucić trochę światła na to.Różnica między metodami onKey(), OnKeyDown() i dispatchKeyEvent() dostarczanymi przez Androida?
Odpowiedz
Śledzenie kodu źródłowego 5.1 Source for the View Class. Wydawałoby się, że dispatchKeyEvent()
jest pierwszą metodą wywoływaną przez system. Przeciążenie go uniemożliwi wywołanie wszystkich kluczowych zdarzeń, chyba że wywołana zostanie wersja podstawowa.
dispatchKeyEvent()
Pierwszy ruch to próba przekazania wydarzenia na numer onKeyListener
, jeśli taki istnieje. To jest, gdy wywoływana jest onKey()
. Jeśli implementacja onKey()
zwróci true
, nastąpi powrót do tej opcji, dispatchKeyEvent()
, a inne zdarzenia nie zostaną wywołane.
Jeśli nie ma onKeyListener
lub onKeyListener
'onKey()
metoda s zwrócone false
, dispatchKeyEvent()
wtedy nazywamy KeyEvent
' dispatch()
metoda s. Który z kolei wywoła wszystkie metody interfejsu KeyEvent.Callback
w twoim widoku. Obejmuje to onKeyDown()
i onKeyUp()
.
- 1. Różnica między zdarzeniami i metodami
- 2. Różnica między metodami zdarzenia jquery.simulate.js i jQuery?
- 3. Jaka jest różnica między tymi dwoma metodami?
- 4. Jaka jest różnica między metodami dynamicznymi i wirtualnymi?
- 5. Jaka jest różnica między metodami rysowania KineticJS?
- 6. Różnica między metodami onCreateView Preferencji a onBindView
- 7. Jaka jest różnica między metodami iteratora i widoku?
- 8. redis-py: Jaka jest różnica między metodami StrictRedis() i Redis()?
- 9. Jaka jest różnica między metodami Html.Partial i Html.Action?
- 10. Jaka jest różnica między metodami len() i sys.getsizeof() w pythonie?
- 11. Jaka jest różnica między metodami DeleteObject() i Recycle() dla SP.Folder
- 12. Jaka jest różnica między metodami invalid() i postInvalidate() systemu Android?
- 13. Jaka jest różnica między metodami i atrybutami w Ruby?
- 14. Java: Różnica między metodami setPreferredSize() i setSize() w komponentach
- 15. Różnica między atrybutami i metodami JSON w szkielecie
- 16. Jaka jest różnica między metodami SOAP 1.1, SOAP 1.2, HTTP GET i HTTP POST dla Androida?
- 17. gdzie i jak używać klucza onKey, onkeyDown, zdarzenie onKeyPressed w systemie Android?
- 18. Funkcja onKeyDown nie zawsze jest wywoływana w aplikacji na Androida
- 19. Różnica między KeyEventArgs.systemKey i KeyEventArgs.Key
- 20. onKeyDown i onKeyLongPress
- 21. Różnica między przekazaniem przez referencję i *?
- 22. Różnica między asfreq i resample
- 23. Jaka jest różnica między 5 metodami konfiguracji Magical Record?
- 24. Jaka jest różnica między różnymi metodami * get helper * w Magento?
- 25. Jaka jest różnica między tymi metodami przypisywania nazw?
- 26. Jaka jest różnica między tymi dwoma metodami tworzenia obiektów?
- 27. Różnica między SqlDataReader.Read i SqlDataReader.NextResult
- 28. Różnica między getGenericParameterTypes i getParameterTypes
- 29. Różnica między getString() i getResources.getString()
- 30. Różnica między XML przez HTTP i SOAP przez HTTP
nie można powiedzieć nic lepszego! – faizal
Świetne wyjaśnienie! – ForeverLearning
Więc zamiast używać zarówno 'onKeyDown', jak i' onKeyUp', mógłbym również użyć 'dispatchKeyEvent'? Czy to ma jakieś wady? Musiałem to zrobić, ponieważ 'onKeyDown' nie zostałby wywołany dla większości kluczy, z jakiegoś powodu. Kiedy zmieniłem na 'dispatchKeyEvent', zadziałało. – keinabel