将信息从EditText发送到IME

时间:2011-01-23 21:24:23

标签: android keyboard-layout android-softkeyboard

我正在编写一个语言学习应用程序,目前只有德语< - >俄语。

有几个EditTexts用户应该用一种或另一种语言输入文本。由于这些语言使用不同的字母表,因此应用程序通过实现InputMethodService并提供拉丁语和西里尔语键盘布局来使用自己的软键盘。每个EditText字段都知道哪种语言是预期的。

我想要的是,例如,每当期望俄语的EditText字段成为焦点时,应显示西里尔语键盘布局。选中后,EditText应该将一些常量传递给IME,后者可以用它来决定是以拉丁语还是西里尔语模式显示。

理想情况下,人们只需为InputType指定一些自定义EditText,但这似乎不可能,是吗?这里的正确方法是什么?

1 个答案:

答案 0 :(得分:2)

你的想法听起来不错。 IME对交换机块中的InputType进行代码检查,如果InputType不匹配,则显示默认键盘布局。

您还可以在onCreate() Activity方法中提供逻辑,以检查哪种输入法处于有效状态,并使用该信息选择inputType EditText应该具有的{{1}}。