Home » Android » How do I show the number keyboard on an EditText in android?

How do I show the number keyboard on an EditText in android?

Posted by: admin March 10, 2020 Leave a comment

Questions:

I just basically want to switch to the number pad mode as soon a certain EditText has the focus.

How to&Answers:

You can configure an inputType for your EditText:

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

Answer:

To do it in a Java file:

EditText input = new EditText(this);
input.setInputType(InputType.TYPE_CLASS_NUMBER);

Answer:

I found this implementation useful, shows a better keyboard and limits input chars.

<EditText
    android:inputType="phone"
    android:digits="1234567890"
    ...
/>

Additionally, you could use android:maxLength to limit the max amount of numbers.

To do this programmatically:

editText.setInputType(InputType.TYPE_CLASS_PHONE);

KeyListener keyListener = DigitsKeyListener.getInstance("1234567890");
editText.setKeyListener(keyListener);

Answer:

<EditText
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    ...
    android:inputType="number|phone"/> 

will show the large number pad as dialer.

Answer:

You can do it 2 ways

  1. Runtime set

    EditText input = new EditText(this);
    input.setInputType(InputType.TYPE_CLASS_NUMBER);
    
  2. Using XML

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

Answer:

If you need fractional number, then this is the answer for you:

android:inputType="numberDecimal"

Answer:

If you are using your EditText in Dialog or creating dynamically and You can’t set it from xml then this example will help you in setting that type of key board while you are using dynamic Edit Text etc

myEditTxt.setInputType(InputType.TYPE_CLASS_NUMBER);

where myEditTxt is the dynamic EDIT TEXT object(name)

Answer:

editText.setRawInputType(InputType.TYPE_CLASS_NUMBER);

Answer:

More input types and details found here on google website

Answer:

Below code will only allow numbers “0123456789”, even if you accidentally type other than “0123456789”, edit text will not accept.

    EditText number1 = (EditText) layout.findViewById(R.id.edittext); 
    number1.setInputType(InputType.TYPE_CLASS_NUMBER|InputType.TYPE_CLASS_PHONE);
    number1.setKeyListener(DigitsKeyListener.getInstance("0123456789”));

Answer:

Use the below code in java file

editText.setRawInputType(Configuration.KEYBOARD_QWERTY);

Answer:

Define this in your xml code

android:inputType="number"

Answer:

EditText number1 = (EditText) layout.findViewById(R.id.edittext); 
number1.setInputType(InputType.TYPE_CLASS_NUMBER);