关键事件处理流程

时间:2010-03-16 08:32:54

标签: android

我想知道在Android平台中如何处理关键事件。 从“当用户键入键'a'在软件键盘上'时, 要'查看'自身'字符'a'。

关键事件可能是由IME生成的, 它将被发送到父视图, 最后,视图(例如EditText)显示chracters。

请有人解释这些整个关键事件处理流程。

2 个答案:

答案 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字段的全部内容。