嗯,标题听起来很复杂,但事实并非如此。
我只想更新EditText
文本而不通知输入方法。我正在使用editText.setSelection(getCursor);
,但是,例如,如果我在特殊字符菜单中并且写了一些东西,键盘会跳回普通字符(a-z)。如果没有setSelection
,我可以继续输入数字和特殊字符。有没有解决此问题的方法?
答案 0 :(得分:1)
您想要的是“恢复键盘状态(无论是表情符号还是上次选择的语言),但是很遗憾,不可能。
此问题是否有解决方法?
并非如此,但是您可以做的是prepare a custom emoji keyboard并以编程方式打开。但是这种方法也存在漏洞,您将无法跟踪用户当前对其键盘的选择。我的意思是,您将不知道用户选择了emojiKeyboard还是normalKeyboard,并且最终每次都会打开emojiKeyboard。 但是,您可以做的是检查用户在editText
内最后输入的内容,然后打开自己的emojiKeyboard,但又一次,用户切换了他/她的键盘样式是什么?
[编辑] (回答评论中的问题)
为什么活动不能保持键盘状态?
因为键盘开发人员没有提供任何回调,加上键盘是某种第三方应用程序,并且可能因设备而异,因此不可行
此外,如何使用Editable实例扩展文本。如果我仅使用现有文本,活动会保持键盘状态吗?
否活动只会保持状态