¿Cómo puedo comprobar si mi ListView ha terminado de redibujar?

Tengo un ListView . Actualizé su adaptador, y llamo a notifydatasetchanged() . Quiero esperar hasta que la lista termine de dibujar y luego llamar a getLastVisiblePosition () en la lista para comprobar el último elemento.

Llamar getLastVisiblePosition() justo después de que notifydatasetchanged() no funciona porque la lista no ha terminado de dibujar todavía.

Espero que esto puede ayudar:

  • Configurar un addOnLayoutChangeListener en la vista de lista
  • Llame .notifyDataSetChanged ();
  • Esto disparará el OnLayoutChangeListener una vez completado
  • Eliminar el oyente
  • Realizar código en la actualización ( getLastVisiblePosition() )

     mListView.addOnLayoutChangeListener(new View.OnLayoutChangeListener() { @Override public void onLayoutChange(View v, int left, int top, int right, int bottom, int oldLeft, int oldTop, int oldRight, int oldBottom) { mListView.removeOnLayoutChangeListener(this); Log.e(TAG, "updated"); } }); mAdapter.notifyDataSetChanged(); 
  • ¿Cómo desplazarse a la parte inferior de ListView mediante programación?
  • ¿Cómo puedo fijar el color de fondo diferente para cada fila en listview?
  • Android ListView thumb ScrollBar
  • Android dos listview verticalmente utilizando 50% -50% de la altura de la pantalla
  • Problema de visualización de desplazamiento rápido con ListAdapter y SectionIndexer
  • Error al agregar nuevos datos a ListView con ArrayAdapter
  • Android - Botón de radio en listView?
  • ¿Cómo implementar ExpandableListview multinivel en Android?
  • Actualización de Android GCM / Listview
  • ¿Cómo saber qué elemento de la lista es visible para el usuario?
  • Android: cómo cambiar la posición de ExpandableListView Indicator?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.