Android提供的onKey(),OnKeyDown()和dispatchKeyEvent()方法之间的区别?

Sen*_*Sen 34 events android key

Android提供的onKey(),OnKeyDown()和dispatchKeyEvent()方法有什么区别?
我想知道何时何地可以使用这些.
请详细说明一下.

Fr3*_*dan 53

跟踪View类5.1 Source的源代码.这似乎dispatchKeyEvent()是系统调用的第一个方法.除非调用基本版本,否则重载它将阻止调用任何和所有键事件.

dispatchKeyEvent()第一步是尝试将事件传递给a,onKeyListener如果有的话.这是在onKey()被召唤的时候.如果onKey()实现返回true,dispatchKeyEvent()将返回那里并且不会调用其他事件.

如果没有onKeyListeneronKeyListeneronKey()方法返回false,dispatchKeyEvent()随后将调用KeyEventdispatch()方法.然后,它将依次调用KeyEvent.Callback视图中界面中的所有方法.这包括onKeyDown()onKeyUp().

  • 不能说更好了! (2认同)