简体   繁体   中英

how can my android app programmatically display the keyboard

Is there any way to programmatically tell android to open the keyboard when the focus is obtained by an EditText?

Also is there any way to tell it to open the numeric keyboard?

Thanks Victor

To pop up a numeric keyboard on start of the activity you can follow these steps:

Created edit text field in layout as: ( Not needed if you want a qwerty keyboard )

 <EditText
        ...
        android:inputType="number"    
        ...  />

In function onCreate() show soft keyboard

InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED,0);

Most important is to give focus to edit text in onResume method.

    @Override
    public void onResume() {
        super.onResume();
        editText.setFocusableInTouchMode(true);
        editText.requestFocus();
    }

to make it numeric, use this

text.setInputType(InputType.TYPE_CLASS_NUMBER);

and as far as I know, the keyboard will pop up when needed automatically

To show the keyboard:

InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
inputMethodManager.showSoftInput(viewToEdit, 0);

To hide the keyboard:

if (getCurrentFocus() != null) {
    inputMethodManager.hideSoftInputFromWindow(getCurrentFocus().getApplicationWindowToken(), 0);
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM