studio samsung rotar rotación rotacion reparar porque pantalla manejando lite giro gira funciona como celular bloquear automatico automaticamente android listview rotation fragment highlighting

android - samsung - setItemChecked no funciona en ListFragment después de la rotación de la pantalla



porque no gira la pantalla de mi samsung (0)

Tengo un problema al resaltar un elemento en un ListView dentro de un Fragment después de la rotación de la pantalla. Como mi código está inspirado en el ejemplo de FragmentLayout en ApiDemos, hice una prueba y se produce el mismo problema que el descrito:

Inicie la aplicación en modo vertical, seleccione un elemento y luego gire el dispositivo en modo horizontal. El elemento seleccionado previamente se resalta correctamente con detalles de fragmentos que muestran el texto correcto. Vuelva a encender en modo retrato y luego seleccione otro elemento. Ahora cuando se cambia en modo paisaje, el "primer" elemento seleccionado sigue resaltado y el fragmento de detalles muestra el texto correcto, el del "segundo" elemento seleccionado.

¿Por qué se resalta un elemento incorrecto? Hay una llamada explícita a getListView.setItemChecked (second_item_index, true) en el fragmento de la lista, pero mantiene el "primer" elemento resaltado. Intenté agregar setNotifyOnChange y / o establecer todos los elementos en falso antes de llamar a setItemChecked, pero eso no cambia nada.

¿Esto es un error o algo falta?

Sin embargo, hay una solución, simplemente implementé el método onStart para configurar el elemento:

@Override public void onStart() { super.onStart(); if (mDualPane) { getListView().setItemChecked(mCurCheckPosition, true); } }

No estoy seguro de si se debe usar onStart para trabajar en la interfaz de usuario, pero funciona.

¿Otra idea?