Necesita ayuda para usar getScrollY () de ListView

Tengo el código siguiente que registran la posición de la voluta Y en mi ListView siempre que mi actividad está pausada.

protected void onSaveInstanceState (Bundle outState) { super.onSaveInstanceState(outState); int scroll = mListView.getScrollY(); System.out.println (" scrollY" + scroll); } 

Pero independientemente de donde desplazo mi ListView verticalmente, el valor de getScrollY () siempre devuelve 0. ¿Puede alguien por favor ayudarme?

Gracias.

ListView.getScrollY() devuelve 0, porque no está desplazando el ListView mismo, sino el View s dentro de él. Llamar a 'getScrollY ()' en cualquiera de las 'vistas' de las que se desplaza devolverá valores reales (sólo hasta cierto punto, ya que se reciclan).

Para guardar su posición, pruebe lo siguiente:

 @Override protected void onSaveInstanceState (Bundle outState) { super.onSaveInstanceState(outState); int scrollPos = mListView.getSelectedItemPosition(); outState.putInt("MyPosition", scrollPos); } @Override public void onRestoreInstanceState(Bundle inState) { super.onRestoreInstanceState(inState); int scrollPos = inState.getInt("MyPosition"); mListView.setSelection(scrollPos); } 

¡Buena suerte!

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.