13

When creating an EditText in the java portion of the application, how do you limit it to numbers like you would in the xml? For example:

new EditText(this);

set like

<EditText
    android:id="@+id/h1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:inputType="numberDecimal"/>
Biggsy
  • 441
  • 4
  • 9
  • 20

5 Answers5

14

Something like this perhaps ?

EditText text = new EditText(this);
text.setInputType(InputType.TYPE_NUMBER_FLAG_DECIMAL);
tacone
  • 11,203
  • 8
  • 42
  • 60
11

Use of android:numeric is deprecated, use android:inputType="number"

akelec
  • 3,465
  • 3
  • 40
  • 38
DevZer0
  • 13,316
  • 6
  • 25
  • 50
2

Go to the docs and look at the table with XML attributes. It shows you the code equivalent of each item.

In this case, it's setRawInputType.

EboMike
  • 75,005
  • 14
  • 154
  • 164
2

this will usually do it:

android:numeric="integer"

brettdj
  • 53,759
  • 15
  • 112
  • 174
NJGUY
  • 1,975
  • 3
  • 22
  • 39
0

Simply use the below lines in the xml file

To accept only Numbers put:

 android:inputType="number"

To limit the length of the input numbers:

android:maxLength="10"

To accept only specific numbers:

EX:1 The below line accept only 1 or 0.

android:digits="10"

EX:2 The below line accept only 2 or 3.

android:digits="23"
Mahmoud Zaher
  • 441
  • 5
  • 6