He creado una pantalla de búsqueda que tiene una pestaña para palabras clave, filtros y un botón de búsqueda, y tres pestañas opcionales para los diferentes tipos de resultados (cada uno contiene ListView
con ArrayAdapter
). Al iniciar la actividad, el desarrollador puede opcionalmente pasar los resultados como un Parcelable[]
extra si la búsqueda ya se ha realizado. En el método onCreate()
estoy creando cada una de las tres pestañas para pasar el Parcelable[]
.Android cambio de orientación llama a Crear
Cuando llamo a una búsqueda desde el botón en la pestaña del filtro, borro las pestañas y las vuelvo a crear con los nuevos resultados, que funcionan perfectamente. El problema es que cuando gira el dispositivo, parece que el soporte de conmutación de orientación automática de Android recrea toda la actividad, llamando al onCreate()
. Esto significa que mis resultados de búsqueda se restablecen al Parcelable[]
pasado al iniciar la actividad.
La única solución que he tenido hasta ahora es llamar al finish()
luego startActivity()
para esencialmente reiniciar la actividad con los nuevos resultados. Estoy seguro de que debe haber una solución mucho más simple y que he hecho algo extremadamente noobish.
¿Hay una mejor manera de hacerlo?
Más de 4 años después, ¿editas mi pregunta para cambiar el formato? Quizás deberías hacer lo mismo con ListView, ArrayAdapter y Parcelable. También te perdiste onCreate() en el segundo párrafo. – Samah
¿Por qué no, en lugar de quejarse de que Pratik Butani no formateó todo, mejorar el formato usted mismo? –
Te perdiste una. : P – Samah