How to determine if an input in EditText is an integer? How to determine if an input in EditText is an integer? android android

How to determine if an input in EditText is an integer?


Since API level 1, Android provides an helper method to do just that (no need to use regex or catching exception) : TextUtils.isDigitsOnly(CharSequence str)

boolean digitsOnly = TextUtils.isDigitsOnly(editText.getText());

Note that this method returns true with empty String : Issue 24965


Update:

You can control the EditText to only accept numbers

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

or check it programmatically

In Kotlin

val number = editText123.text.toString().toIntOrNull() val isInteger = number != null

In Java

String text = editText123.getText().toString();try {   int num = Integer.parseInt(text);   Log.i("",num+" is a number");} catch (NumberFormatException e) {   Log.i("",text+" is not a number");}


If you whant EditText accept only numbers you cant specify android:inputType="number" in layout file.