【发布时间】:2016-12-30 13:32:36
【问题描述】:
我需要阻止用户在数字EditText 上从键盘输入.(句点)字符,但我需要能够通过setText 方法在同一个EditText 上使用它.
我尝试过使用InputFilter,但是当我调用setText 时,. 字符不显示。我也尝试在xml 中设置digits 参数,但setText 也不起作用。
有没有办法做到这一点?
这是我的 InputFilter 代码:
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 != '.';
}
};
}
【问题讨论】:
-
如果你在 xml 中设置了 InputFilter 或
android:digits你不能允许被阻塞的字符。
标签: java android android-edittext input-filter