1

我正在搞乱一个由两个片段组成的应用程序,每个片段都在自己的选项卡中。一个是listfragment,另一个是mapfragment。两个片段都需要随着位置的变化而更新位置。

我正在阅读教程。

我想知道是否应该在主机活动上实现这一点,并在位置更新时将位置传递给每个片段。但我不确定如何去做。因为 listfragment 需要将它传递给与该类关联的加载器。

或者为每个片段实现回调,并可能将 ErrorDialogFragment 和 servicesConnected 作为宿主类的成员?甚至在单独的班级?避免重复代码。

你们有什么感想?

4

1 回答 1

0

一种选择是使用 LocalBroadcastManager:

在需要此位置的每个片段中,为操作“LOCATION_WAS_JUST_UPDATED”注册一个接收器。

我不确定您在哪里检索该位置,但无论如何它都会起作用。例如,如果它在服务中,您所要做的就是调用:

LocalBroadcastManager.getInstance(mContext).sendBroadcast(new Intent("LOCATION_WAS_JUST_UPDATED"));

您当然可以使用此 Intent 传递捆绑包中的位置,或者将其设置在持久容器中,接收此广播的片段可以更新其本地位置。

于 2013-09-24T14:46:16.967 回答