texto seleccionar poner number foco example edittext editable color cambiar android android-edittext gettext html redraw

seleccionar - Android Edittext-Tiempos de compensación



poner foco en edittext android (2)

Tenía el mismo problema. Se solucionó eliminando solo los tipos de tramos que agregué a EditText. Supongo que clearSpans elimina más de lo que debería. Hice algo como esto para cada tipo de tramo que utilicé:

toRemoveSpans = et.getSpans(0, et.getText().length(), ForegroundColorSpan.class); for (int i = 0; i < toRemoveSpans.length; i++) et.removeSpan(toRemoveSpans[i]);

Estoy tratando de obtener un EditText para borrar sus vanos llamando a EditText.getText().clearSpans() . Sin embargo, si llamo a este método, el EditText comienza a comportarse de manera extraña, con los saltos de línea que aparecen como recuadros y cualquier intervalo que establezca en el lugar equivocado.

Así que mi pregunta es: ¿Cómo borro los vanos de y EditText? (Sin llamar a setText (), el texto puede tener miles de líneas y es demasiado lento para volver a dibujarlo con frecuencia)

¡Muchas gracias!


private void clearSpans(@NonNull final Editable editable) { final Object[] spans = editable.getSpans(0, editable.length(), Object.class); for (final Object span : spans) { if (span instanceof ForegroundColorSpan || span instanceof SpannableTextView.CustomTypefaceSpan) { editable.removeSpan(span); } } }

Dependiendo del tipo de intervalos que haya agregado, es posible que deba incluir más que solo ForegroundColorSpan. El método anterior es una caída simple en el reemplazo y es fácil especificar qué se extiende para eliminar.