Cuando se utiliza scrollTo ListView no se actualiza, pero al desplazarse manualmente se actualiza

Tengo diferentes colores para diferentes líneas en el ListView, estableciendo el color del cuadro de texto en función del número de línea (en getView () de adaptador). Ahora, cuando desplazo manualmente el ListView hacia arriba, el color correcto se muestra en las líneas inferiores que se revelan. Pero cuando uso scrollTo, esto no sucede, todas las líneas reveladas tienen el mismo color (no se actualizan).

¿Alguien se ha enfrentado a este problema? Esto parece desconcertante!

ListView#scrollTo no desplaza el contenido de la lista. (Es un método de vista estándar, y no es específico para las listas en absoluto: se desplaza la vista ListView en sí.)

En su lugar, intente usar ListView#setSelectionFromTop(0, int y) para desplazarse.

API 19+ tiene un método ListView#scrollListBy(int y) si está programando para KitKat y más.

En nuestro proyecto ListView#setSelectionFromTop(0, int y) no tiene ningún efecto. Así que hackeado esto en compat-estilo:

 class Hacks { static { Method trackMotionScroll = null; if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) { try { trackMotionScroll = AbsListView.class .getDeclaredMethod("trackMotionScroll", int.class, int.class); trackMotionScroll.setAccessible(true); } catch (NoSuchMethodException e) { Exceptions.crash(e); } } listViewTrackMotionScroll = trackMotionScroll; } public static void scrollListBy(ListView listView, int y) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { listView.scrollListBy(y); } else { try { listViewTrackMotionScroll.invoke(listView, -y, -y); } catch (Exception e) { Exceptions.crash(e); } } } } 
  • ListView es muy lento - android
  • Los elementos de ListView no se pueden hacer clic después de establecer el oyente de clics en getView ()
  • Cómo comprobar NULL en etiquetas XML XML analizadas
  • Cómo agregar mapfragment dentro de un elemento listview dentro de adaptador?
  • FrameLayout no se puede convertir en android.widget.AbsListView
  • Cómo agregar ListView personalizado en el diálogo de alerta android
  • El adaptador personalizado de Android no funciona correctamente para la lista de chat
  • Seleccione cualquier elemento de una lista de 10.000 elementos en android
  • Android listview - Obtener texto del listview personalizado
  • Texto para marquesina dinámicamente
  • Adición dinámica de fila personalizada a listview
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.