Deshacerse de: AllCapsTransformationMethod 'llamador no habilitar cambios de longitud'

Me di cuenta de muchas veces este aviso en mis registros y quiero saber cómo deshacerse de él.

Entiendo que viene de esto donde AllCapsTransformationMethod tiene un estado de inhabilitación.

  • Cómo resolverlo ? ¿Dónde debo llamar al método setLengthChangesAllowed(boolean allowLengthChanges) ?
  • ¿Por qué aparece?
  • ¿Cuánto impacto tiene en el procesamiento (estoy funcionando en dispositivos de memoria muy muy bajos)?

Gracias.

PS: si sabes etiquetas mejores, las agregare.

El método setLengthChangesAllowed(boolean) será llamado por TextView en setTransformationMethod(TransformationMethod) . El valor de la bandera booleana se evalúa de esta manera (sólo he comprobado la API 18): mAllowTransformationLengthChange = !isTextSelectable() && !(mText instanceof Editable); .

Por lo tanto, si el texto es seleccionable o editable (por ejemplo su componente es un EditText ), el AllCapsTransformationMethod será ignorado y obtendrá el mensaje de advertencia W/AllCapsTransformationMethod: Caller did not enable length changes; not transforming text W/AllCapsTransformationMethod: Caller did not enable length changes; not transforming text .

Esperamos poder responder a sus preguntas:

  • Utilice componentes de texto no editables y no seleccionables si desea que la transformación se aplique o no establezca android:textAllCaps en true para texto editable / seleccionable, que debería deshacerse de la advertencia. Realmente no puedes llamar a setLengthChangesAllowed(boolean) menos que uses voodoo de reflexión que podría funcionar o no, romper cosas y hacer que tu código sea más difícil de mantener.
  • Véase la explicación anterior. Espero que ayude
  • Obtener la advertencia básicamente significa que tiene un AllCapsTransformationMethod inútil en la memoria que ocasionalmente produce esa advertencia, pero de otra manera no hace nada. El impacto en el rendimiento debe ser mínimo, tendiendo a cero. Probablemente es mejor configurar manualmente el texto editable / seleccionable en mayúsculas en lugar de aplicar el atributo textAllCaps sin ningún efecto.
FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.