我想知道在Android平台中如何处理关键事件。 从“当用户键入键'a'在软件键盘上'时, 要'查看'自身'字符'a'。
关键事件可能是由IME生成的, 它将被发送到父视图, 最后,视图(例如EditText)显示chracters。
请有人解释这些整个关键事件处理流程。
答案 0 :(得分:1)
看一下这篇文章:http://developer.android.com/resources/articles/creating-input-method.html
基本上,您可以手动发送KeyEvent
,也可以在应用程序的输入View
中手动编辑和提交光标周围的文本。
这些都是通过您的IME InputConnection
完成的。
答案 1 :(得分:0)
OnKeyListener和OnKeyDown不会被调用。它们只有在使用硬件键盘时才会被调用,许多Android设备甚至都没有。
我假设你要做的是捕获在EditText区域中发生的关键事件。在这种情况下,为了处理软件键盘输入和硬件键盘输入,最好的办法是通过TextWatcher()方法注册addTextChangedListener。
请注意,在Android 2.1及更高版本的手机上,例如Nexus One,人们可以选择使用语音识别将文本输入EditText,而不是输入文字。当他们这样做时,你可以一次性输入完整的单词,甚至是完整的句子。因此,当内容发生更改时,您需要检查EditText字段的全部内容。