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.
<TO set the input type of EditText as decimal use this code:
EditText edit = new EditText(this);
edit.SetRawInputType(Android.Text.InputTypes.NumberFlagDecimal | Android.Text.InputTypes.ClassNumber);
put this line in xml
android:inputType="number|numberDecimal"
my solution:`
public void onTextChanged(CharSequence s, int start, int before, int count) {
char ch=s.charAt(start + count - 1);
if (Character.isLetter(ch)) {
s=s.subSequence(start, count-1);
edittext.setText(s);
}
Try using TextView.setRawInputType() it corresponds to the android:inputType
attribute.
There's no reason to use setRawInputType()
, just use setInputType()
. However, you have to combine the class and flags with the OR operator:
edit.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL | InputType.TYPE_NUMBER_FLAG_SIGNED);