Victor Grazi
Victor Grazi

Reputation: 16520

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

Upvotes: 3

Views: 9510

Answers (3)

Rana Ranvijay Singh
Rana Ranvijay Singh

Reputation: 6165

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

Upvotes: 9

Kai
Kai

Reputation: 15476

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

Upvotes: 5

dldnh
dldnh

Reputation: 8961

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

Upvotes: 8

Related Questions