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