我需要一种在模块之间共享信息的方法 - 不仅仅是在同一模块中的组件之间 - 。 我有共同的数据在不同的moduleContext之间共享。
- 我尝试使用应用程序上下文(moduleContext.getParentContext()。setSettings()或getSettings(),但每个模块上下文都有一个不同的moduleContext.getParentContext()。
- 我也尝试为应用程序创建单例对象,但即使在这种情况下,第一个模块(登录页面)的单例数据也不可用于其他模块。
- 我尝试的第三件事是通过通知(通知/收听)传递数据,结果相同。
有谁知道如何解决这个问题?
马科斯
答案 0 :(得分:1)
如果要保持模块树之间的关系,则需要通过调用来创建模块层次结构:
parentContext.loadChildContexts(moduleContexts);
完成此操作后,该方法可确保将子上下文的“事件中介者”设置为父上下文的完全相同的“中介者”实例。然后,在任何模块中发生的事件将被通知给同一模块中的所有上下文发送。
设置也一样。当使用'loadChildContexts'方法时,父上下文的设置被“复制”到子上下文设置。
如果它仍然不适合您,您可以与我分享您的代码吗?我可以帮你找到问题所在。