EditText:如何通过编程设置字符数限制

18

我有一个EditText,我希望限制在这个EditText中可以输入的字符数量,并且希望通过编程方式实现这种限制。例如,我想将其限制为只允许输入10个字符。


可能是重复的问题:如何在Android TextView中以编程方式设置最大长度?(https://dev59.com/HXE95IYBdhLWcg3wGZ9_) - Pongpat
4个回答

42

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

1
我会实现一个过滤器:
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});

1

尝试这个简单的游戏,轻松愉快。

InputFilter[] FilterArray = new InputFilter[1]; FilterArray[0] = new InputFilter.LengthFilter(5); input.setFilters(FilterArray);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接