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);