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.