2

我需要一种在模块之间共享信息的方法——不仅是在同一模块中的组件之间——。我有公共数据要在不同的 moduleContext 之间共享。

- 我尝试使用应用程序上下文(moduleContext.getParentContext().setSettings() 或 getSettings(),但每个模块上下文都有不同的 moduleContext.getParentContext()。

-我也尝试为应用程序创建一个单例对象,但即使在这种情况下,第一个模块(登录页面)的单例数据也不适用于其他模块。

-我尝试的第三件事是通过通知(通知/侦听)传递数据,结果相同。

有谁知道如何解决这个问题?

马科斯

4

1 回答 1

1

如果要保持模块树之间的关系,则有必要通过调用来创建模块层次结构:

parentContext.loadChildContexts(moduleContexts);

完成后,该方法确保子上下文的“事件中介”设置为与父上下文完全相同的“中介”实例。然后在任何模块上发生的事件将被通知到同一模块树中的所有上下文。

设置也是一样的。当使用“loadChildContexts”方法时,父上下文的设置被“复制”到子上下文设置。

如果它仍然不适合你,你能把你的代码分享给我吗?我可以帮你找出问题所在。

于 2013-01-31T14:51:55.160 回答