Я создал экран поиска, на котором есть одна вкладка для ключевых слов, фильтров и кнопки поиска и три дополнительных вкладки для разных типов результатов (каждая из которых содержит ListView с ArrayAdapter). При запуске действия разработчик может дополнительно передать результаты в качестве дополнительного Parcelable[], если поиск уже выполнен. В методе onCreate() я создаю каждую из трех вкладок для пропущенного Parcelable[].
Когда я вызываю поиск с помощью кнопки на вкладке фильтра, я очищаю вкладки и воссоздаю их с новыми результатами, которые отлично работают. Проблема в том, что, когда вы вращаете устройство, кажется, что поддержка автоматического переключения ориентации Android воссоздает всю активность, вызывая onCreate(). Это означает, что мои результаты поиска reset передаются Parcelable[] при запуске действия.
Единственное решение, которое я получил до сих пор, - вызвать finish(), затем startActivity(), чтобы по существу перезапустить активность с новыми результатами. Я уверен, что должно быть гораздо более простое решение, и что я сделал что-то чрезвычайно noobish.
Есть ли лучший способ сделать это?