EditText : set number of characters programmatical

2019-02-03 04:01发布

问题:

I have a EditText , and I would like to restrict the number of characters which could be inputted in this EditText, and make this restriction programmatically, how to do it? For example, say I would like to restrict it to only allow 10 characters.

回答1:

You can Use InputFilter for restricting the number of characters in EditView programmatically as:

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

for more help you can see this tutorial for restricting number of characters in EditView:

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



回答2:

I would implement a filter:

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:

Try this my friend easy game easy life InputFilter[] FilterArray = new InputFilter[1]; FilterArray[0] = new InputFilter.LengthFilter(5); input.setFilters(FilterArray);