我正在使用这样的 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 的最大长度
有人对此有好主意吗?
谢谢
最佳答案
一个简单的单行代码是:
myEditText.setFilters(new InputFilter[] { new InputFilter.LengthFilter(10) });
//replace 10 with required length.
关于Android::使用其他 InputFilter 以编程方式设置 EditText 的最大长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24749833/