exc*_*n01 14 validation android digits android-edittext
我必须在EditText中设置可接受的字符"0123456789"和"分号".下面是我正在使用的代码.
android:digits="0123456789;"
android:inputType="number|text
Run Code Online (Sandbox Code Playgroud)
该实现的问题是在HTC手机中,分号无法输入但在三星和索尼爱立信中,可以输入分号.另一个问题是当我在三星和索尼爱立信输入分号时,分号无法删除.上面的代码中是否有遗失的财产?提前致谢.
Sha*_*wal 28
Android提供了一种通过修改布局xml并添加android:inputType ="text"来编辑文本字段的简便方法.这使您可以轻松创建一些基本验证,如数字,小数,电话或电子邮件.但是没有字母数字的参数(即没有特殊字符).为此,您需要使用如下所示的输入过滤器,并在代码中设置要使用该过滤器验证的字段.这个输入过滤器
InputFilter alphaNumericFilter = new InputFilter() {
@Override
public CharSequence filter(CharSequence arg0, int arg1, int arg2, Spanned arg3, int arg4, int arg5)
{
for (int k = arg1; k < arg2; k++) {
if (!Character.isLetterOrDigit(arg0.charAt(k))) {
return "";
} //the first editor deleted this bracket when it is definitely necessary...
}
return null;
}
};
mFirstName.setFilters(new InputFilter[]{ alphaNumericFilter});
Run Code Online (Sandbox Code Playgroud)