【问题标题】:Passing serializable object to another activity将可序列化对象传递给另一个活动
【发布时间】:2015-09-17 12:25:03
【问题描述】:

我使用 putExtra 和 getSerializable 方法将我的对象传递给第二个活动。它工作正常,但是,我是否需要返回此对象以维护在第二个活动中所做的更改?

当我运行我的应用程序并启动我的第二个活动然后在对传递给它的对象进行更改后调用finish(),如果我重新启动第二个活动,则会显示更改之前的旧对象数据,这是否意味着使用 put/get 可序列化方法正在传递对象的克隆,并且为了保持对第二个活动所做的更改,我必须将对象重新传递回主活动?!

【问题讨论】:

    标签: java android android-activity serialization


    【解决方案1】:

    我不确定您为什么需要这种行为。但是您可以尝试以下方法。

    您可以将该对象作为全局静态变量(最好在应用程序的应用程序类中),以便在活动的不同实例之间保留该对象。

    此外,如果对象的状态在应用重新启动时很重要,您必须计划将对象的状态写入一些持久性存储中,例如 db/file/shared 首选项。请参阅此link 以存储对象,

    【讨论】:

    • 我想避免在 android 清单中使用静态或引用它。您能解释一下如何将状态保存在持久存储中吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-26
    • 1970-01-01
    相关资源
    最近更新 更多