我做了一个搜索屏幕,其中包含关键字,过滤器和搜索按钮的一个选项卡,以及针对不同类型结果(每个都包含ListView
和ArrayAdapter
)的三个可选选项卡。开始活动时,如果搜索已执行,开发人员可以选择将结果作为额外的Parcelable[]
传入。在onCreate()
方法中,我创建了通过Parcelable[]
的三个选项卡中的每一个。Android方向更改调用onCreate
当我从过滤器选项卡上的按钮调用搜索时,我清除选项卡并使用新结果重新创建它们,这很好地起作用。问题在于,当您旋转设备时,Android的自动方向切换支持会重新创建整个活动,请拨打onCreate()
。这意味着我的搜索结果重置为开始活动时通过的Parcelable[]
。
我到目前为止唯一的解决方案是致电finish()
,然后startActivity()
实质上重新开始活动与新的结果。我确信必须有一个更简单的解决方案,而且我做了一些非常不喜欢的事情。
有没有更好的方法来做到这一点?
4年后,你编辑我的问题来改变格式?也许你应该对ListView,ArrayAdapter和Parcelable执行相同的操作。你也错过了第二段中的onCreate()。 – Samah 2015-02-10 22:55:56
为什么不是抱怨Pratik Butani没有全部格式化,而是自己改进格式? – 2015-11-27 15:20:26
你错过了一个。 :P – Samah 2015-12-02 21:44:31