Pregunta

Me gustaría establecer mediante programación la propiedad de maxLength TextView como yo no quiero código difícil que en el diseño. No puedo ver cualquier método set relacionada con maxLength.

Puede alguien me guía cómo lograr esto?

¿Fue útil?

Solución

En caso de ser algo por el estilo. pero nunca lo utilizó para TextView, solamente EditarTexto:

TextView tv = new TextView(this);
int maxLength = 10;
InputFilter[] fArray = new InputFilter[1];
fArray[0] = new InputFilter.LengthFilter(maxLength);
tv.setFilters(fArray);

Otros consejos

Probar

int maxLengthofEditText = 4;    
editText.setFilters(new InputFilter[] {new InputFilter.LengthFilter(maxLengthofEditText)});

Una forma sencilla límite de editar carácter de texto

EditText ed=(EditText)findViewById(R.id.edittxt);
ed.setFilters(new InputFilter[]{new InputFilter.LengthFilter(15)});

Para aquellos de ustedes usando Kotlin

fun EditText.limitLength(maxLength: Int) {
    filters = arrayOf(InputFilter.LengthFilter(maxLength))
}

A continuación, sólo puede utilizar una sencilla editText.limitLength (10)

Para Kotlin y sin restablecer los filtros anteriores:

fun TextView.addFilter(filter: InputFilter) {
  filters =
      if (filters.isNullOrEmpty()) {
        arrayOf(filter)
      } else {
        filters
          .toMutableList()
          .apply {
            removeAll { it.javaClass == filter.javaClass }
            add(filter)
          }
          .toTypedArray()
      }
}

textView.addFilter(InputFilter.LengthFilter(10))
     AlertDialog.Builder builder = new AlertDialog.Builder(this);
                    builder.setTitle("Title");


                    final EditText input = new EditText(this);
                    input.setInputType(InputType.TYPE_CLASS_NUMBER);
//for Limit...                    
input.setFilters(new InputFilter[] {new InputFilter.LengthFilter(3)});
                    builder.setView(input);

mejor solución que encontré

textView.setText(text.substring(0,10));
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top