如何隐藏虚拟键盘

时间:2010-01-03 11:45:38

标签: android keyboard virtual hide

我不想显示虚拟键盘。

我尝试了以下方法,但它没有任何区别。

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 );

但我不能指定只接受数字输入

请您给我一个合理的解决方案,只是不显示虚拟键盘而不会失去仅接受物理键盘上数字输入的功能。

5 个答案:

答案 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);

这项工作:)