¿Cómo se establece el número máximo de caracteres para un EditText en Android?

¿Cómo se establece el número máximo de caracteres para un Android EditText de entrada? Veo setMaxLines, setMaxEMS, pero nada para el número de caracteres.

9 Kommentare

  1. 247

    En XML puede añadir esta línea a la EditText View donde 140 es el número máximo de caracteres:

    android:maxLength="140"
    • se puede liderar a mí, ¿cómo podemos lograr esto mediante el uso de la ficha propiedades del eclipse xml de la vista gráfica?
    • en su res/layout xml archivo de poner próximo ‘<LinearLayout…. <EditText android:maxLength=»20″‘
  2. 55

    Dinámicamente:

    editText.setFilters(new InputFilter[] { new InputFilter.LengthFilter(MAX_NUM) });

    A través de xml:

    <EditText
        android:maxLength="@integer/max_edittext_length"
  3. 45

    Puede utilizar un InputFilter, ese es el camino:

    EditText myEditText = (EditText) findViewById(R.id.editText1);
    InputFilter[] filters = new InputFilter[1];
    filters[0] = new InputFilter.LengthFilter(10); //Filter to 10 characters
    myEditText .setFilters(filters);
  4. 7

    Yo siempre establecer el máximo de como esta:

        <EditText
            android:id="@+id/edit_blaze_it
            android:layout_width="0dp"
            android:layout_height="@dimen/too_high"
    
        <!-- This is the line you need to write to set the max-->
            android:maxLength="420"
            />
  5. 4

    Que se está trabajando para mí.

        etMsgDescription.setFilters(new InputFilter[] {new InputFilter.LengthFilter(maximum_character)});
    
        etMsgDescription.addTextChangedListener(new TextWatcher() {
    
            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {
    
                tvCharacterLimite.setText(" "+String.valueOf(maximum_character - etMsgDescription.getText().length()));
            }
    
            @Override
            public void beforeTextChanged(CharSequence s, int start, int count,
                    int after) {
                //TODO Auto-generated method stub
    
            }
    
            @Override
            public void afterTextChanged(Editable s) {
                //TODO Auto-generated method stub
    
            }
        });
  6. 0

    A mí me funcionó de esta manera, es la mejor que he encontrado.
    Es para una longitud máxima de 200 caracteres

    editObservations.addTextChangedListener(new TextWatcher() {
    
        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {
            if (editObservations.getText().length() >= 201){
                    String str = editObservations.getText().toString().substring(0, 200);
                    editObservations.setText(str);
                    editObservations.setSelection(str.length());
            }
        }
    
        @Override
        public void beforeTextChanged(CharSequence s, int start, int count,
                                              int after) {
        }
    
        @Override
        public void afterTextChanged(Editable s) {
        }
    });
  7. 0
       <EditText
            android:id="@+id/edtName"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="Enter device name"
            android:maxLength="10"
            android:inputType="textFilter"
            android:singleLine="true"/>

    InputType ha de establecer «textFilter»

            android:inputType="textFilter"
  8. 0

    utilizar esta función fácilmente a cualquier lugar:

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

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea