4

我不想显示虚拟键盘。

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

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

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

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

4

4 回答 4

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' };
    }
});
于 2010-01-04T12:21:28.753 回答
1

你必须在你的 AndroidManifest.xml 文件中使用它

所以添加

android:configChanges="方向|keyboardHidden"

但是这样您的键盘将始终隐藏在该活动中。

沃特

于 2010-01-04T09:55:16.537 回答
1

您是否尝试将其添加到清单的 Activity 标记中?安卓:windowSoftInputMode="stateHidden"

于 2014-02-19T15:21:11.573 回答
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);

这项工作:)

于 2014-02-19T10:40:00.280 回答