在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系统键盘,但键盘类型无法控制,例如:数字键盘或字母键盘。
答案 0 :(得分:0)
您必须将它应用于您的对象。例如,如果您有一个名为EditText
的{{1}}对象,则可以应用它并使用myEditText
输入类型。当用户点击myEditText.setInputType(InputType.TYPE_CLASS_NUMBER)
时,系统会提示他输入EditText
答案 1 :(得分:0)
在xml文件的EditText中,添加以下标记:
android:inputType="textPassword"
并且要更具体地说明选择,如果需要,可以在xml中添加:
android:digits="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ12345679"
答案 2 :(得分:-1)
试试这个。
使用xml,
android:inputType="WHAT_YOU_WANT"
Click here查看可能的类型。
使用java,
YOUR_EDIT_TEXT_NAME.setInputType(InputType.TYPE_CLASS_NUMBER)