在Android的输入过滤器中使用条件maxLength

在Android的输入过滤器中使用条件maxLength,android,Android,我正在使用输入过滤器: int max_length; max_length = 15; InputFilter[] FilterArray = new InputFilter[1]; FilterArray[0] = new InputFilter.LengthFilter(max_length); final EditText input = new EditText(getBaseContext()); input.setFilters(FilterArray); alert_scree

我正在使用输入过滤器:

int max_length;
max_length = 15;
InputFilter[] FilterArray = new InputFilter[1];
FilterArray[0] = new InputFilter.LengthFilter(max_length);

final EditText input = new EditText(getBaseContext());
input.setFilters(FilterArray);
alert_screen.setView(input);

它可以工作,但我需要将max_length设置为一个条件值。例如,如果用户只输入数字,最大长度将等于15,但如果用户输入一些字母,最大长度必须等于11

由于edittext中的文本更改,您应该首先使用
文本观察程序

如果用户在edittext中输入任何字母,则max的条件已更改,如果只有数字也更改了条件,则将此条件放入
onTextChanged(字符序列,int start,int before,int count)

参考文献是: