int maxLength = 20;
private String blockCharacterSet = "~#^|$%'&*!;";
private InputFilter filter = new InputFilter()
{
@Override
public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend)
{
if (source != null && blockCharacterSet.contains(("" + source))) {
return "";
}
return null;
}
};
在这里,只有一个过滤器正在使用blockCharacterSet或max length:
EditText etname;
etname.setFilters(new InputFilter[] { filter });
etname.setFilters(new InputFilter[] {new InputFilter.LengthFilter(maxLength)});
谁能一次帮助我同时设置两个以上的过滤器?
最佳答案
如果您有两个inputFilters,则将其添加到数组中,如下所示:
etname.setFilters(new InputFilter[] {
new InputFilter.LengthFilter(maxLength), filter});
最后,
setFilter()
采用输入过滤器数组,因此在setFilters()
中创建的数组应包含所有输入过滤器。