EditText: программировать количество символов

У меня есть EditText, и я хотел бы ограничить количество символов, которые могут быть введены в этом EditText, и сделать это ограничение программным путем, как это сделать? Например, скажем, я хотел бы ограничить его, чтобы разрешить только 10 символов.

Ответы

Ответ 1

Вы можете использовать InputFilter для ограничения количества символов в EditView программно как:

InputFilter[] FilterArray = new InputFilter[1];
FilterArray[0] = new InputFilter.LengthFilter(10);
your_edittext.setFilters(FilterArray);

для получения дополнительной справки вы можете увидеть это руководство для ограничения количества символов в EditView:

http://www.tutorialforandroid.com/2009/02/maxlength-in-edittext-using-codes.html

Ответ 2

Я бы использовал фильтр:

InputFilter filter = new InputFilter() {

   @Override
   public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
      if (source.length > 10){
       //cancel the edit or whatever
      }
   }
};
EditText editText = (EditText) findViewById(R.id.rg);
editText.setFilters(new InputFilter[] {filter});

Ответ 3

public void setEditTextMaxLength(int length) {
    InputFilter[] FilterArray = new InputFilter[1];
    FilterArray[0] = new InputFilter.LengthFilter(length);
    edt_text.setFilters(FilterArray);
}

Ответ 4

Попробуй это, мой друг, легкая игра, легкая жизнь InputFilter[] FilterArray = new InputFilter[1]; FilterArray[0] = new InputFilter.LengthFilter(5); input.setFilters(FilterArray);