最佳答案
我像这样使用 InputFilter 只允许 alpha 和数字
private InputFilter[] inputFilters = new InputFilter[] { new InputFilter()
{
@Override
public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend)
{
for (int i = start; i < end; ++i)
{
if (!Pattern.compile("[ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890]*").matcher(String.valueOf(source.charAt(i))).matches())
{
return "";
}
}
return null;
}
} };
但问题是 xml 文件中的“ android: maxLlength”值不能用于这个 InputFilter
我认为我需要在 InputFilter 中的代码来设置 EditText 的最大长度
有人有好主意吗?
谢谢