【问题标题】:Saving Objects in onSaveInstanceState()在 onSaveInstanceState() 中保存对象
【发布时间】:2019-05-27 11:51:39
【问题描述】:

我见过几个类似的关于使用 Parceable 保存对象的问题(请参阅here)。但是我想保存一个我无法实现 Parceable 的对象数组,因为它是我们在 android 中获得的预定义对象(按钮、颜色等)。我将如何保存这些对象的数组?如果我错过了什么,我真的很抱歉。

谢谢,

派网

【问题讨论】:

  • 你说得对,你不能保存像Button这样的类,因为你不控制源代码,因此不能实现Parcelable。另一种方法是保存最初用于生成Buttons 的基础数据,以便在状态恢复时重建按钮。

标签: android arrays object onsaveinstancestate


【解决方案1】:

对于不可打包的数据,您可以覆盖 onRetainNonConfigurationInstance()。从那里您可以返回任何您喜欢的对象,并且该对象不必是可包裹的。然后从您的新活动实例中,您可以使用 getLastNonConfigurationInstance() 来访问您之前保存的对象。

https://developer.android.com/reference/android/app/Activity.html#onRetainNonConfigurationInstance()

【讨论】:

    猜你喜欢
    • 2016-12-03
    • 2014-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多