如何将对象的特定实例(即未序列化/反序列化)传递给我刚开始的新活动?

时间:2017-10-13 18:37:58

标签: android android-activity

标题几乎说明了一切。我需要将一个活动中定义的侦听器对象传递给我开始的新活动。由于显而易见的原因,您无法使用序列化(您将通知克隆,而不是原始版本),但我不确定如何将对象发送到新活动,或者获取新活动来自旧的活动。

到目前为止,我看到的唯一解决方案是在新活动上设置静态,然后在新活动启动时,从静态中获取它。只是觉得' icky'对我来说,虽然如果你只是设置静态,然后启动新活动,你就不应该遇到有状态的错误。

另一种是使用本地通知,传递通知键,可以序列化,因为它只是一个键,然后为它设置听众,但这似乎就像驾驶一个18轮半去商店只是为了得到一些牛奶。

我一直认为必须有更好的方法。有吗?

1 个答案:

答案 0 :(得分:0)

将其存储在单件中或通过Dagger等注射方法存储。你不能通过Intent传递一个实例 - 因为一个Activity可以通过任何其他进程启动,没有办法在Intent中的两个活动之间传递实例。