Android 如何隐藏虚拟键盘

Android 如何隐藏虚拟键盘,android,keyboard,virtual,hide,Android,Keyboard,Virtual,Hide,我不想显示虚拟键盘 我尝试了下面的方法,但没有任何区别 InputMethodManager imm = InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(enter_count.getWindowToken(), 0); 输入\u count是我的编辑文本 我试过阅读InputMethod管理器,但没法理解 我可以设置编辑文本的输入类型,称为en

我不想显示虚拟键盘

我尝试了下面的方法,但没有任何区别

InputMethodManager imm =     InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(enter_count.getWindowToken(), 0);
输入\u count是我的编辑文本 我试过阅读InputMethod管理器,但没法理解

我可以设置编辑文本的输入类型,称为enter\u count,如下所示

enter_count.setInputType( InputType.TYPE_NULL );
但是我不能指定只接受数字输入


您能给我一个合理的解决方案,在不显示虚拟键盘的情况下,不失去在物理键盘上只接受数字输入的能力。

您必须在AndroidManifest.xml文件中使用此选项

所以加上

android:configChanges=“方向|键盘隐藏”

但是有了它,你的键盘将永远隐藏在活动中

这个怎么样

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

将其添加到
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);

此项工作:)

您是否尝试将其添加到清单的活动标记中?
android:windowSoftInputMode=“stateHidden”

我尝试了你的建议,android:configChanges=“keyboardHidden”也尝试了,但都没有起到任何作用