how to hide the virtual keyboard

狂风中的少年 提交于 2019-12-06 06:13:04

问题


I don't want to show the virtual keyboard.

I tried the below method but it doesn't make any difference.

InputMethodManager imm =     InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(enter_count.getWindowToken(), 0);

enter_count is my edit text I have tried reading up on the InputMethod Manager but can't follow it.

I can set the input type of my edit text called enter_count as follows

enter_count.setInputType( InputType.TYPE_NULL );

but then I can't specify to only accept numeric input

Can you please give me a reasonable solution to simply not show the virtual keyboard without losing the ability to only accept numeric input on the physical keyboard.


回答1:


How about this?

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



回答2:


you have to use this in your AndroidManifest.xml file

So add

android:configChanges="orientation|keyboardHidden"

But with that your keyboard will always be hidden in that Activity.

Wouter




回答3:


I think you would like this post. Android App start with virtual keyboard open (android:windowSoftInputMode) though it is added in API Level 3.




回答4:


Have you tried adding this in the Activity tag of your manifest? android:windowSoftInputMode="stateHidden"




回答5:


Add this in yourSendData() function

InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
    imm.hideSoftInputFromWindow(textEntered.getWindowToken(),0); 

OR use this

InputMethodManager.RESULT_UNCHANGED_SHOWN);
imm.toggleSoftInput(InputMethodManager.HIDE_IMPLICIT_ONLY, 0);

this work :)



来源:https://stackoverflow.com/questions/1994732/how-to-hide-the-virtual-keyboard

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!