7

I've come across this while doing work on creating my own Keyboard but can't for the life of me remember where I ran across it.

I want top open the Numeric keyboard. However, I want my EditText to only accept an IP address. Adding a filter to my EditText wasn't too hard thanks to this answer.

However, now I want to make the Numeric keyboard to open rather than the standard text keyboard. Unfortunately search results are saturated with the same "How do you limit EditText to numeric input?" questions over and over.

Could anyone point me to the right place for manually opening the Numeric Keyboard.

Community
  • 1
  • 1
Graeme
  • 25,714
  • 24
  • 124
  • 186

4 Answers4

2

Adding to the existing solution, if you want to restrict to just numbers and dots, you can add

android:digits="0123456789."

to the xml of the EditText. So combining the current solution and the above:

android:inputType="phone"
android:digits="0123456789."

will make sure you are able to just put IP address related stuff in the EditText. Now, when the keyboard comes up it has the T9 letters on the keys, but that's a function of the "phone" inputType. Also, you'll have to make sure it's a valid IP after entry.

2

Not sure if this is the best solution, but I use android:inputType="phone".

Glitch
  • 2,785
  • 1
  • 27
  • 50
  • Well, it certainly works. Would prefer the standard number keyboard rather than the phone keyboard though (There is a way to do it). – Graeme Dec 12 '11 at 15:21
2

8 days late but alrighty!

android:inputType="number"

works for me. Of course Glitch's answer might be better given that not all keyboards have a numeric input style. And of course you'll still have to validate it

Grace B
  • 1,386
  • 11
  • 30
0

or you can also go for

editext ss;
ss.setInputType(InputType.TYPE_CLASS_NUMBER);
Raghav Chopra
  • 527
  • 1
  • 10
  • 26