0
为了在重新创建活动后(例如在屏幕方向更改后)恢复活动的状态,我实现了onSaveInstanceState()和onRestoreInstanceState()。保存/恢复诸如int,double等简单信息很简单,但是如何保存/恢复像Timer这样的对象呢?恢复活动的状态
为了在重新创建活动后(例如在屏幕方向更改后)恢复活动的状态,我实现了onSaveInstanceState()和onRestoreInstanceState()。保存/恢复诸如int,double等简单信息很简单,但是如何保存/恢复像Timer这样的对象呢?恢复活动的状态
您不能在活动参数或保存的实例数据中存储“实时”对象(如数据库连接)。这些机制的设计使得应用程序可以完全停止,因此它只适用于可以“序列化”并稍后恢复的内容。
你可以做的是使用片段。如果添加一个没有UI的片段(检查here,查找 “添加一个没有UI的片段”)并调用它setRetainInstance(true)该片段将被重新附加到该活动,并保留任何配置更改。
希望它有帮助。 (请记住,您可以使用支持包使用旧版Android版本的分段)
使用SharedPreferences。 –
你需要做的是保存计时器值并给计时器加上cacel。当方向改变时,活动被破坏并重新创建。所以取消定时器并使用保存的值启动定时器。 – Raghunandan
@Brontok sharedprefereces用于原语,那么如何使用它来保存和恢复像timer这样的对象呢?它用于在用户会话中保留值。 – Raghunandan