2017-03-29 37 views
0

通常情況下,當您鍵入(自動更正)時,android鍵盤會自動顯示建議,但如果您從代碼更改編輯字段的屬性,建議將不再顯示。爲什麼setInputType禁用自動更正?

舉例來說,此行成功地改變了使用全部大寫輸入類型,但建議不再顯示:

mEditText.setInputType(InputType.TYPE_TEXT_FLAG_CAP_CHARACTERS); 

即使我明確告訴它使用自動更正,它仍然無法使用自動更正:

mEditText.setInputType(InputType.TYPE_TEXT_FLAG_AUTO_CORRECT | InputType.TYPE_TEXT_FLAG_CAP_SENTENCES); 

但是,如果我從來沒有調用過setInputType,那麼這些建議顯示得很好!爲什麼會發生?我該如何解決它?

謝謝!

回答

1

我不記得完整的故事,但我不得不做以下,使之成爲我

edit.setRawInputType(edit.getInputType() & ~EditorInfo.TYPE_TEXT_FLAG_AUTO_COMPLETE); 

注工作的setRawInputType代替setInputType

+0

調用我會標示出這是接受的答案,因爲它使我找到了正確的答案。原來我上面的代碼覆蓋了TYPE_CLASS_TEXT標誌。您的代碼使用getInputType()保留該標誌。在我的代碼中,我能夠將getInputType與我想要設置的標誌組合起來,現在它可以工作。謝謝!! – dacoinminster

相關問題