我创建了一个搜索屏幕,其中包含一个用于关键字,过滤器和搜索按钮的选项卡,以及三个用于不同类型结果的可选选项卡(每个包含一个ListView带有a ArrayAdapter).启动活动时,Parcelable[]如果已执行搜索,开发人员可以选择将结果作为额外内容传递.在onCreate()方法中,我正在创建Parcelable[]传递的三个选项卡中的每一个.
当我从过滤器选项卡上的按钮调用搜索时,我清除选项卡并使用新结果重新创建它们,这非常有效.问题是,当您旋转设备时,Android的自动方向切换支持似乎会重新创建整个活动,即调用onCreate().这意味着我的搜索结果将重置为Parcelable[]启动活动时传递的内容.
到目前为止,我唯一的解决方案就是调用finish()然后startActivity()用新结果重新启动活动.我确信必须有一个更简单的解决方案,而且我做了一些非常无趣的事情.
有一个更好的方法吗?