18

我有一个EditText,我想限制可以在其中输入的字符数,并以编程EditText方式进行此限制,怎么做?例如,假设我想将其限制为仅允许 10 个字符。

4

4 回答 4

42

您可以使用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

于 2012-11-16T10:22:55.840 回答
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});
于 2012-11-16T10:23:26.277 回答
1
public void setEditTextMaxLength(int length) {
    InputFilter[] FilterArray = new InputFilter[1];
    FilterArray[0] = new InputFilter.LengthFilter(length);
    edt_text.setFilters(FilterArray);
}
于 2015-01-16T13:08:26.447 回答
1

试试这个我的朋友简单的游戏简单的生活 InputFilter[] FilterArray = new InputFilter[1]; FilterArray[0] = new InputFilter.LengthFilter(5); input.setFilters(FilterArray);

于 2016-05-12T14:25:39.007 回答