ListView no se desplaza hasta el final cuando el teclado
Mi ListView debe desplazarse automáticamente hasta el final, cuando se recibe o envía un nuevo mensaje. Pero cuando utilizo el teclado de Android para enviar el mensaje de EditText debajo de ListView, ListView cambió de tamaño y nuevo mensaje, que quiero enviar, aparece fuera de la pantalla y tengo que desplazarse hacia abajo para verlo, incluso si el teclado desaparece y vuelve a clasificar.
Para desplazarse ListView utilizo:
- Cómo borrar un Android ListView y llenarlo con nuevos datos?
- Xamarin.Forms untappable ListView (eliminar el efecto de rizo de selección)
- Problemas de procesamiento Excepción generada durante la renderización: las matrices de color y posición deben tener la misma longitud
- ListView haga clic para mostrar la imagen en ImageView
- El listview personalizado con una sola casilla de verificación se selecciona uno a la vez
ListView.postDelayed (nuevo Runnable () {
@Anular Public void run () { ListView.setSelection (listView.getCount ()); } }, 100);
Pero no funciona correctamente en mi caso.
¿Alguien sabe por qué puede ocurrir? ¿Hay una manera, que siempre desplazan ListView para terminar?
Gracias, su ayuda es muy apreciada!
- Android smoothScrollTo no invocando onScrollStateChanged
- Android abriendo el menú contextual después de hacer clic en el botón
- Extraño BUG en mi ListView (Android)
- Hacer una vista de ancho completo con un ListAdapter
- Android listview mensaje vacío con encabezado
- Android ListView Edge Fading funciona en un dispositivo virtual 2.2 pero no en Samsung 2.2.1
- Arrastrar y soltar listitem de un listview a otro listo de listview
- Android se desplaza hasta la parte inferior de una vista de lista
Puede intentar agregar esta línea de código después de establecer la selección en su lista:
listView.smoothScrollToPosition(listView.getCount());
El código resultante debería tener este aspecto:
listView.postDelayed(new Runnable() { @Override public void run() { listView.setSelection(listView.getCount()); listView.smoothScrollToPosition(listView.getCount()); } }, 100);
Pruebe esta insead de su código:
listView.setTranscriptMode(ListView.TRANSCRIPT_MODE_ALWAYS_SCROLL);
(O la fijó por la disposición de XML).
Establecer android: windowSoftInputMode en el manifiesto para la actividad de adjustPan|adjustResize
.