2015-04-06 28 views
0

我通過擴展android的BaseInputConnection編寫了自定義的InputConnection。當用戶按Enter鍵時,我曾經得到commitText()。但最近使用Google鍵盤時,這不會發生。 Google鍵盤發送sendKeyEvent(),其參數爲enterKeyUp和enterKeyDown事件。但是,我沒有得到預測的文字,因爲我曾經在commitText()中獲得。如何在Googke鍵盤上按Enter鍵預測文本?谷歌鍵盤在按Enter時不會調用commitText()回車

回答

0

他們真的有一個組成區域嗎?如果不是,他們可能已經決定不需要提交文本。還是你告訴他們你的輸入類型是NULL?如果是這樣,他們可能進入愚蠢模式,並將所有事情都作爲關鍵事件。

它們也可能調用了FinishComposingText,它告訴編輯器現有文本是好的(沒有更正)。但是,假設某個特定行爲將來自特定事件通常不是一個好主意,因爲鍵盤總是圍繞錯誤的輸入連接實現中的錯誤來獲得他們想要的效果。只要儘可能地實現InputConnection並按照它所說的去做,而不是在特定時間期待某些事件。