我不想显示虚拟键盘。
我尝试了以下方法,但它没有任何区别。
InputMethodManager imm = InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(enter_count.getWindowToken(), 0);
enter_count是我的编辑文字 我已经尝试过阅读InputMethod Manager但无法遵循它。
我可以设置名为enter_count的编辑文本的输入类型,如下所示
enter_count.setInputType( InputType.TYPE_NULL );
但我不能指定只接受数字输入
请您给我一个合理的解决方案,只是不显示虚拟键盘而不会失去仅接受物理键盘上数字输入的功能。
答案 0 :(得分:3)
这个怎么样?
EditText editText = (EditText) findViewById(R.id.edt_hello);
editText.setKeyListener(new NumberKeyListener() {
@Override
public int getInputType() {
return InputType.TYPE_NULL;
}
@Override
protected char[] getAcceptedChars() {
return new char[] { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' };
}
});
答案 1 :(得分:1)
你必须在AndroidManifest.xml文件中使用它
所以添加
<强>机器人:configChanges = “取向| keyboardHidden”强>
但是,你的键盘将始终隐藏在该Activity中。
的Wouter
答案 2 :(得分:1)
我想你想要这篇文章。 Android App start with virtual keyboard open(android:windowSoftInputMode) 虽然它是在API Level 3中添加的。
答案 3 :(得分:1)
您是否尝试在清单的活动代码中添加此内容? 机器人:windowSoftInputMode = “stateHidden”
答案 4 :(得分:0)
在SendData()
功能
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(textEntered.getWindowToken(),0);
或使用此
InputMethodManager.RESULT_UNCHANGED_SHOWN);
imm.toggleSoftInput(InputMethodManager.HIDE_IMPLICIT_ONLY, 0);
这项工作:)