Android smoothScrollBy se comporta mal

Tengo un ListView que estoy llamando smoothScrollBy() . 95% del tiempo, el smoothScrollTo() comporta como se pretende. Sin embargo, hay veces que no termina en el lugar previsto! He comprobado que le doy el mismo valor. Me doy cuenta de que el desplazamiento suave no es tan suave cuando se realizan los errores, sin embargo no hay otras tareas que mi aplicación está realizando que tendría control sobre.

No estoy muy seguro de lo que está pasando en el fondo, pero un probable culpable es la recolección de basura.

95% de precisión no es lo suficientemente bueno en esta situación. Voy a tener que implementar algún tipo de mecanismo de corrección para asegurarse de que el ListView aterriza en el lugar correcto en estos casos.

¿Hay una mejor manera de utilizar smoothScrollBy() no sea simplemente llamar view.smoothScrollBy(distance, time); ?

A veces será debido a la cuestión de tiempo. Cuando las vistas se agregan a tu lista y el tiempo que haces

 view.smoothScrollBy(distance, time); 

El listview o el ui todavía no necesitan refrescarse. Por lo tanto, haga esto en el hilo de post vistas con un retraso específico. P.ej.

 view.postDelayed(new Runnable{ view.smoothScrollBy(distance, time); },1000); 

Pruebe algunos de estos:

Listview tiene su propio mecanismo de desplazamiento. Se desplaza cuando se agrega el contenido.

  1. Asigne la altura de listview (android: layout_height) a match_parent o fill_parent.

  2. Si está asignando un adaptador en un subproceso de trabajo. No realice ninguna acción de interfaz de usuario en el subproceso.

Si estos no resuelven el problema. Publica el código en el que asignas el adaptador a la vista de lista, si es que la hay. O el código correspondiente.

También el código de diseño xml.

Espero que esto ayude.

  • La posición de desplazamiento salta a los elementos de la lista anterior mientras se desplaza hacia arriba en la vista de lista personalizada
  • Android WebView: deshabilitar el degradado del borde amarillo de desplazamiento
  • Vista de texto no desplazable en android
  • Android WebView desplácese hacia abajo
  • Sin elástico Desplazamiento en ListView
  • El desplazamiento de texto no funciona
  • Android ListView - detiene el desplazamiento en la posición de fila 'completa'
  • Haga que las pestañas de ActionBar se desplacen cuando alcance límite, en lugar de crear una lista desplegable
  • Cómo detener el desplazamiento interno de WebView en Android?
  • Listview Desplácese al final de la lista después de actualizar la lista
  • Cómo guardar la posición de desplazamiento de RecyclerView en Android?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.