Невозможно получить maxLength из EditText! (InputFilter.LengthFilter не имеет параметра длины, теперь что?)

Я попытался получить фильтры EditText , но InputFilter.LengthFilter не имеет параметра LENGTH (или SIZE или что-то еще)!

Таким образом, я не могу получить длину EditText max с помощью InputFilter !

Я что-то пропустил? Какие-либо предложения?

Почему вы пытаетесь «получить» длину InputFilter.LengthFilter? Вы уже должны знать, какая длина, когда вы ее устанавливаете.

Если вам нужно изменить его, просто сбросьте фильтр и примените его к виду EditText. Опять же, вы знаете, что задано значение длины.

Попробуйте создать собственный фильтр InputLength. Это будет выглядеть примерно так: (CustomLengthFilter.java) import android.text.InputFilter;

  public class CustomLengthFilter extends InputFilter.LengthFilter { int maxLength; public CustomLengthFilter(int max) { super(max); maxLength = max; } public int get_MaxLength(){ return maxLength; } } 

Затем в вашем editText:

 InputFilter[] inputFilterCollection = this.getFilters(); CustomLengthFilter mCustomLengthFilter = null; for(InputFilter eachInputFilter : inputFilterCollection){ if(eachInputFilter instanceof CustomLengthFilter){ mCustomLengthFilter = (CustomLengthFilter) eachInputFilter; } } if(mCustomLengthFilter != null){ int maxLength = mCustomLengthFilter.get_MaxLength(); } 
Intereting Posts