我像这样使用 InputFilter 只允许字母和数字
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:maxLength”值不适用于此 InputFilter
我想我需要在 InputFilter 中使用代码来设置 EditText 的最大长度
有人对此有什么好主意吗?
Thanks
一个简单的单行是:
Java:
myEditText.setFilters(new InputFilter[] { new InputFilter.LengthFilter(10) });
Kotlin:
myEditText.filters = arrayOf(InputFilter.LengthFilter(10))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)