0
爲了在重新創建活動後(例如在屏幕方向更改後)恢復活動的狀態,我實現了onSaveInstanceState()和onRestoreInstanceState()。保存/恢復諸如int,double等簡單信息很簡單,但是如何保存/恢復像Timer這樣的對象呢?恢復活動的狀態
爲了在重新創建活動後(例如在屏幕方向更改後)恢復活動的狀態,我實現了onSaveInstanceState()和onRestoreInstanceState()。保存/恢復諸如int,double等簡單信息很簡單,但是如何保存/恢復像Timer這樣的對象呢?恢復活動的狀態
您不能在活動參數或保存的實例數據中存儲「實時」對象(如數據庫連接)。這些機制的設計使得應用程序可以完全停止,因此它只適用於可以「序列化」並稍後恢復的內容。
你可以做的是使用片段。如果添加一個沒有UI的片段(檢查here,查找 「添加一個沒有UI的片段」)並調用它setRetainInstance(true)該片段將被重新附加到該活動,並保留任何配置更改。
希望它有幫助。 (請記住,您可以使用支持包使用舊版Android版本的分段)
使用SharedPreferences。 –
你需要做的是保存計時器值並給計時器加上cacel。當方向改變時,活動被破壞並重新創建。所以取消定時器並使用保存的值啓動定時器。 – Raghunandan
@Brontok sharedprefereces用於原語,那麼如何使用它來保存和恢復像timer這樣的對象呢?它用於在用戶會話中保留值。 – Raghunandan