I need to block the user from inputing the .
(period) character from the keyboard on a number EditText
, but I need to be able to use it on the same EditText
via the setText
method.
I've tried using InputFilter
but when I call setText
the .
character don't show. I've also tried setting the digits
parameter in the xml
but the setText doesn't work either.
Is there a way to do this?
Here's my InputFilter code:
public static InputFilter blockPeriod(){
return new InputFilter() {
@Override
public CharSequence filter(CharSequence charSequence, int i, int i1, Spanned spanned, int i2, int i3) {
for (int j = i; j <i1 ; j++) {
char c = charSequence.charAt(j);
if (!allowed(c)){
return "";
}
}
return null;
}
private boolean allowed(char c){
return c != '.';
}
};
}
You can do it with your
InputFilter
, but you need to allow it for a while when you calling setText() method.