How do I restrict my EditText input to numerical (possibly decimal and signed) input?
android, android-edittext
Solution
Try using TextView.setRawInputType() it corresponds to the `android:inputType` attribute.
Problem
I have read Android: Limiting EditText to numbers and How do I show the number keyboard on an EditText in android?. Unfortunately, none of them seems to fit my needs. I want to restrict my EditText input to only numbers. However, I also want to allow signed and/or decimal input. Here is my current code (I need to do this programmatically): ``` EditText edit = new EditText(this); edit.setHorizontallyScrolling(true); edit.setInputType(InputType.TYPE_CLASS_NUMBER); ``` With this, my EditText merrily restricts all input to numerical digits. Unfortunately, it doesn't allow anything else, like the decimal point. If I change that line to `edit.setInputType(InputType.TYPE_NUMBER_FLAG_DECIMAL)`, the EditText accepts all input (which isn't what I want...). I've tried combining flags (in desperation to see if it would work): ``` edit.setInputType(InputType.TYPE_CLASS_NUMBER); edit.setInputType(InputType.TYPE_NUMBER_FLAG_DECIMAL) edit.setInputType(InputType.TYPE_NUMBER_FLAG_SIGNED) ``` That didn't work either (the EditText accepted all input as usual). So, how do I do this?