【发布时间】:2016-08-13 23:09:06
【问题描述】:
我需要一种在两个活动之间直接交换数据的好方法。我的所有跑步活动都有一个相同的自定义标题,在我的第一个活动中,我在该标题中显示 GPS 状态并带有图像(已找到/仍在搜索)。 LocationListener 是我的第一个活动,如果 GPS 状态发生变化,我想更新我正在运行/显示的活动的所有标题。目前我只能更改我的第一个活动的标题。
我知道我可以通过 SharedPreferences 和 Intents 交换数据,后者将数据作为 Extras 传递,但据我所知,我只能在其他活动的 onCreate 方法中接收 extras。
我想要的是,在仍在运行的活动上更新数据(传递了 onCreate)。
希望你明白我的意思:)
示例场景:
我启动我的应用程序。 GPS 定位正在运行(第一个活动)。同时我导航到我的应用程序的另一个活动。现在,如果 GPS 状态发生变化,我需要更新当前显示的第二个活动的标题。
有没有办法解决这个问题?
谢谢
【问题讨论】:
-
使用一个
Activity和两个Fragments而不是两个Activities。 -
嗯,你可以使用 SingletonPattern 或 ObserverPattern
-
就像 Squonk 所说,您可以使用单个活动并拥有许多片段。该活动将处理每个片段之间的数据。
-
好的,非常感谢您的快速帮助。我尝试用碎片解决它。
标签: java android android-layout android-intent