我做了一個搜索屏幕,其中包含關鍵字,過濾器和搜索按鈕的一個選項卡,以及針對不同類型結果(每個都包含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