按Enter键时,Google键盘不会调用commitText()

时间:2015-04-06 09:51:54

标签: android android-softkeyboard

我通过扩展android的BaseInputConnection编写了一个自定义InputConnection。当用户按下Enter键时,我曾经得到commitText()。但最近使用谷歌键盘,这不会发生。 Google键盘发送sendKeyEvent()参数为enterKeyUp和enterKeyDown事件。但是,我没有得到预测文本,因为我曾经进入commitText()。如何在Googke键盘中按EnterKey获取预测文本?

1 个答案:

答案 0 :(得分:0)

他们真的有一个作曲区吗?如果不是,他们可能已经决定不需要提交文本。或者你告诉他们你的输入类型是NULL?如果是这样,他们可能已经进入愚蠢的模式并将所有内容作为关键事件发送。

他们也可能调用了FinishComposingText,它告诉编辑器现有文本是好的(没有更正)。但是,假设某个特定动作通常不是一个好主意,因为键盘总是在错误的输入连接实现中解决错误以获得他们想要的效果。只需尽可能地实现InputConnection并按照它所说的去做,而不是在特定时间期待某些事件。