java - InputMethodManager 如何设置输入法类型?

标签 java android

在Android中,inputmethodmanagerapi来管理输入法,现在有个问题,如何通过inputmethodmanager类型来控制输入法,比如数字键盘或者字母键盘等?

InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
List<InputMethodInfo> enabledInputMethodList = imm.getEnabledInputMethodList();
imm.setInputMethod(getCurrentFocus().getWindowToken(), enabledInputMethodList.get(1).getId());
imm.setCurrentInputMethodSubtype(imm.getCurrentInputMethodSubtype());

imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);

这个只能调用Android系统键盘,但是不能控制键盘类型,比如:数字小键盘或者字母键盘。

最佳答案

你必须将它应用到你的对象上。例如,如果您有一个名为 myEditTextEditText 对象,您可以使用 myEditText.setInputType(InputType.TYPE_CLASS_NUMBER) 应用它和输入类型。当用户点击您的 EditText 时,系统会提示他输入类型为 TYPE_CLASS_NUMBER

的键盘

关于java - InputMethodManager 如何设置输入法类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37159042/

相关文章:

java - 无法在通过 Canvas 编辑 ImageView 的类中使用 TouchEvent

android - 插件 Phonegap 电源管理

java - 我应该如何将对象添加到私有(private)静态ArrayList?

java - 如何在android项目中包含sqlite4java

java - 递归方法中不是语句错误

java - 从long到int的可能的有损转换,找不到错误

java - Android 数组不工作的测验

android - 在 Android NDK 上使用 ffmpeg 淡入淡出图片

java - 匹配字符串中的所有字符,无论其在序列中的顺序如何

java - 为什么 Apache POI 能够编写超过 255 个字符的超链接,而 XLSXWriter 却不能?