Mantenga la posición de desplazamiento de GridView a través de la rotación de pantalla

¿Cómo puedo mantener la posición de desplazamiento de un GridView (que está lleno de resultados de búsqueda) a lo largo de una reorientación de pantalla?

Tengo el GridView dentro de un fragmento, y cuando giro la pantalla salta de nuevo a la tapa de la lista.

Para hacerlo aún más complicado, en modo de paisaje mi GridView tiene 3 columnas .. en modo retrato tiene 2 columnas.

No puedo imaginar cómo mantener el GridView del fragmento desplazado a cualquier lugar cerca de donde debería ser cuando la orientación de la pantalla cambia.

Puede probar esto:

Inicialmente debe obtener la posición de desplazamiento actual del GridView llamando a:

int index = gridview.getFirstVisiblePosition(); 

Entonces usted tiene que guardar este valor mientras que la orientación cambia y cuando el GridView se crea otra vez usted tiene que mover su gridview a este índice.

Supongo que esto podría funcionar:

 gridview.smoothScrollToPosition(int index) 

¡Espero que esto ayude!

Puede utilizar el siguiente método, que funcionará para todas las versiones de Android.

Para guardar la posición de desplazamiento actual:

 int index = gridView.getFirstVisiblePosition(); 

A continuación, después del cambio de orientación, utilice el código siguiente para establecer la posición gridView en el índice guardado:

 gridView.setSelection(index); 

Mi código//

  final int index = gridView.getFirstVisiblePosition(); gridView.post(new Runnable() { @Override public void run() { gridView.setSelection(index); } }); 
  • Ciclo de vida de Android Fragment sobre cambios de orientación
  • Android: orientación manual de la pantalla sin reiniciar la actividad?
  • ¿Cómo registrar un oyente para el cambio de orientación?
  • Captura de video de MediaRecorder en modo retrato
  • Orientación del diseño en código
  • Cómo hacer que el diseño de Android sea proporcional independientemente del tamaño de la pantalla y la orientación
  • Android: Problemas al calcular la orientación del dispositivo
  • Mono para Android - Todas las actividades en orientación vertical
  • Detectar la orientación de un vídeo grabado en android
  • Cómo bloquear la orientación durante el tiempo de ejecución
  • FragmentActivity con ViewPager: Crash en el cambio de orientación
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.