¿Cómo desplazarse a la parte inferior de ListView mediante programación?

Después de llamar a notifydatasetchanged(); Quiero desplazarse a la parte inferior de la lista para que el usuario vea el último registro en el Listview.

(Estoy escribiendo el módulo de chat por lo que para ese propósito necesito registro más reciente en la parte inferior de la lista para ser visible)

¿Puede alguien guiarme cómo lograr esto?

Tratar

 listView.post(new Runnable(){ public void run() { listView.setSelection(listView.getCount() - 1); }}); 

El 'post' parece ser necesario en algún momento de mi experiencia, sobre todo si ha actualizado recientemente la lista.

Sé que esto ha sido contestado y usted tomó la respuesta y fue hace más de un año. Pero una manera mejor de hacer esto es el modo Transcripción. Para obtener una demostración, vea la Demostración de la API de Android en Vistas> Listas> Transcripción.

Debería establecer lo siguiente en la vista de lista en el XML.

 android:stackFromBottom="true" android:transcriptMode="alwaysScroll" 

Siempre funcionará siempre que llame a notifyDataSetChanged() . Puedes configurar android:transcriptMode a normal lugar de otro si quieres un resultado aún mejor para aplicaciones de chat: solo se desplazará a la parte inferior si el último elemento ya estaba en la vista. De esta forma, los usuarios pueden ver el chat anterior sin interrupción cuando otros usuarios chatean.

  • Modo de transcripción
  • Pila desde abajo

Sé que es muy tarde para responder, pero puede ser que va a ayudar a alguien. Usando android:transcriptMode="alwaysScroll" forzará el listview a desplazarse a la parte inferior (como aquí hemos utilizado android:stackFromBottom="true" ) incluso si intentarás desplazarte arriba lo que normalmente requería la mayor parte del tiempo. Así que en lugar de android:transcriptMode="alwaysScroll puede utilizar android:transcriptMode="normal que se comportará similar al requisito de la aplicación de chat y no forzar la lista de desplazamiento siempre si el usuario desea ver el contenido en la parte superior.

  • ANDROID: Agregar espacio vacío al final de ListView
  • ListView onItemClick a veces no responde
  • Lista de elementos con esquinas redondeadas
  • Cómo añadir un botón debajo de un listview en android
  • Lazy cargando ViewPagers en un ScrollView
  • Cómo mostrar letras alfabéticas en el lado de Android ListView
  • Programáticamente Arrojar ListView Android
  • ListView: ¿Cómo permanecer resaltado / seleccionado después de pulsar el botón Atrás?
  • Lista de Android Ver Arrastrar y soltar ordenar
  • Encabezado estático en ListView, CustomBaseAdapter
  • Todavía otro getView llamado varias veces
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.