2012-08-23 25 views
8

Mi ListView debe desplazarse automáticamente al final, cuando se recibe o se envía un nuevo mensaje. Pero cuando uso el teclado Android para enviar mensajes desde EditText debajo de ListView, el tamaño de ListView y el nuevo mensaje, que deseo enviar, aparece fuera de la pantalla y tengo que desplazarme hacia abajo para verlo, incluso si el teclado desaparece y el tamaño de ListView vuelve a aumentar.ListView no se desplaza al final, cuando el teclado usa

Para desplazarse ListView que utilizo:

listView.postDelayed(new Runnable() {
@Override public void run() { listView.setSelection(listView.getCount()); } }, 100);

pero no funciona correctamente en mi caso.

¿Alguien sabe por qué puede ocurrir? ¿Hay alguna manera de desplazar SIEMPRE ListView hacia el final?

Gracias, su ayuda es muy apreciada!

+0

¿Cómo obtuviste el evento de mostrar el teclado cuando vas al EditText? –

Respuesta

8

Usted puede tratar de agregar esta línea de código después de configurar la selección a su lista:

listView.smoothScrollToPosition(listView.getCount()); 

código resultante debe tener este aspecto:

listView.postDelayed(new Runnable() { 
     @Override 
     public void run() { 
      listView.setSelection(listView.getCount()); 
      listView.smoothScrollToPosition(listView.getCount()); 
     } 
    }, 100); 
+1

¡Funciona! ¡Gracias! –

1

Establecer android: windowSoftInputMode en manifiesto para la actividad a adjustPan|adjustResize.

+2

No está funcionando. No quiero arreglar la actividad, porque tengo otros elementos en la pantalla, por ejemplo, el panel izquierdo. Este problema es solo para ListView. Quiero usar el método, que siempre desplaza ListView para finalizar. –

+0

Los documentos dicen específicamente que esto no es posible - http://developer.android.com/reference/android/view/WindowManager.LayoutParams.html#SOFT_INPUT_ADJUST_RESIZE – Eliezer

16

probar este insead de su código:

listView.setTranscriptMode(ListView.TRANSCRIPT_MODE_ALWAYS_SCROLL); 

(o configúrelo por diseño XML).

Cuestiones relacionadas