Sugerencias de teclado hacen que parte del mensaje de Android EditText.setError () no se muestre

Cuando estoy usando edittext.setError("enter a comment") en android, funciona bien hasta que las sugerencias del teclado edittext y el error se empuja por encima del edittext , después de lo cual no muestra todo el mensaje de error.

¿Por qué está haciendo esto?

Después de entrar en el cuadro de texto, la ventana emergente del globo aparece ahora sobre el cuadro de texto

SetError
Establece el compuesto de la derecha dibujable del TextView en el icono de "error" y establece un mensaje de error que se mostrará en una ventana emergente cuando TextView tenga el foco. El icono y el mensaje de error se restablecerán a cero cuando cualquier evento clave cause cambios en el texto de TextView. Si el error es nulo, el mensaje de error y el icono se borrarán.

Así que cuando se cambia el texto, debe desaparecer. No sé por qué esto no sucede en su caso.

También debe ser borrado cuando el mensaje de error es nulo, por lo que un truco podría ser:

 edittext = (EditText)findViewById(R.id.foo); // add below this line edittext.addTextChangedListener(new TextWatcher() { public void afterTextChanged(Editable s) {} public void beforeTextChanged(CharSequence s, int start, int count, int after){} public void onTextChanged(CharSequence s, int start, int before, int count){ if(s != null && s.length() > 0 && edittext.getErrorMessage() != null) { edittext.setErrorMessage(null); } } }); 

@Andy Lobel: También me enfrenté a este problema y tengo que arreglarlo poniendo en blanco-espacios (10-12) al final del texto, por lo que el truncamiento sucedió sólo a los espacios en blanco 🙂 También, mi setError se veía mejor haciendo SetError texto y EditText alineados.

Otro caso: Me quedé atrapado en otro tema en el que se muestra un icono dibujable, pero ese mensaje flotante y su cuadro rectangular no aparecen.

Mi diseño contenía:

1) Nombre de usuario Editar texto

2) Contraseña Editar texto

3) Confirmar contraseña Editar texto

4) Botón de registro

Por lo tanto, estaba validando y mostrando el error en el momento de hacer clic en el botón de registro, pero se enteró de que el mensaje no pudo aparecer y sólo dibujable utilizado para venir y encontró ese mensaje aparecerá sólo cuando el Texto de edición se puede enfocar como:

De acuerdo con setError API Descripción: – Establece el compuesto de la derecha dibujable de TextView al icono de "error" y establece un mensaje de error que se mostrará en una ventana emergente 'cuando TextView tiene foco'.

Por lo tanto, el mensaje fue para UserName Editar texto, pero el último enfoque se mantuvo en Confirmar contraseña Editar texto, por lo que nunca apareció

La solución / ajuste para tal caso sería:

 EditText.setFocusableInTouchMode(true); EditText.requestFocus(); EditText.setError("My Error Text"); 

Nota: Se escribió, por si acaso está atascado en este punto aunque otras soluciones podrían estar disponibles y lo siento por tantas ediciones ya que esta es la mejor solución posible que llegué por fin.

He pasado mucho tiempo intentando varias cosas para arreglar esto …

La solución fácil: – Asegúrese de que su texto de error es realmente muy corto

La solución que hace que todo funcione:

Cuando Android muestra el teclado, la vista con el texto de edición se "mueve" hacia arriba … y el texto de error se mueve con esto. El truncamiento normalmente ocurre como parte de esto. Usted puede arreglar esto fácilmente poniendo su disposición entera en un soporte de ScrollView … de esta manera Android puede mover su EditText arriba desplazándolo con la disposición entera – y entonces el mensaje de error será exhibido completamente. Pruébelo – realmente funciona.

PS: Me gusta que hayas publicado una captura de pantalla de tu problema. Hace las cosas mucho más fáciles.

Establezca inputType="" valor para EditText con el valor apropiado android:inputType="textEmailAddress" y el popup desaparecerá cuando se ingrese el primer carácter.

Otra solución :
Adición de android:windowSoftInputMode="adjustResize" en la etiqueta de actividad en AndroidManifest.xml corrigió el problema para mí

  • Try-Catch: ¿Está bien dejar las aplicaciones con excepciones manejadas?
  • Cuando el teclado virtual aparece, hace que mi campo EditText pierda el foco
  • Fecha de EditarTexto
  • Edittext punto de partida problema Android
  • Android: muestra un texto de edición en un menú
  • Edición de Edición personalizada de Android y NextFocusDown
  • Valor de entrada de entrada del cuadro de diálogo de entrada de Android
  • Doble signo de exclamación en EditText setError cuando se utiliza en un campo de tipo de contraseña
  • EditText en ListView con windowSoftInputMode adjustPan
  • ¿Es posible que cuando haga clic edittext mostrará mensaje de diálogo?
  • Android - Texto seleccionable: selecciona parte de un texto
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.