user10095135
user10095135

Reputation:

How can I force the keyboard to appear?

When the user clicks on an editText the keyboard is brought up for the user to type. Can I make the keyboard to appear when a user clicks on a button instead of the editText? Can the numpad appear instead of the normal keyboard?

Upvotes: 1

Views: 57

Answers (2)

Pavneet_Singh
Pavneet_Singh

Reputation: 37404

Can i make the keyboard to appear when a user clicks on a button instead of the editText?

Yes, you need to set the focus and pop up the keyboard using InputMethodManager

button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            // Focus the field.
            editText.requestFocus();
            // Show soft keyboard for the user to enter the value.
            InputMethodManager im = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
            im.showSoftInput(editText, InputMethodManager.SHOW_IMPLICIT);
        }
    });

Can the numpad appear instead of the normal keyboard?

Yes, using input type

Either in the xml tag of edittext

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

or in java

editText.setInputType(InputType.TYPE_CLASS_NUMBER);

Upvotes: 4

Khaled Lela
Khaled Lela

Reputation: 8139

public static void toggleKeyboard(Context context) {
    try {
        InputMethodManager imm = (InputMethodManager)context.getSystemService(Context.INPUT_METHOD_SERVICE);
        imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, InputMethodManager.HIDE_IMPLICIT_ONLY);
    } catch (Exception e) {
        Log.e("On show keyboard error: %s", e.getMessage());
    }
}

Upvotes: 1

Related Questions