在两个片段之间发送数据

时间:2014-08-25 14:18:17

标签: java android android-fragments arraylist

所以,我有一个Activity从服务器抓取“Locations”,并在ListView中向用户显示Location的详细信息。我还有一个活动,将所有这些地点放在Google地图上。一切都很好。现在,我想将它们放入带有标签的ViewPager中。为此,我将它们都转换为碎片。当我使用活动时,我使用Intent从ListActivity向MapActivity发送了一个ArrayList来绘制点。

我的问题是:现在我正在使用片段,如何将ArrayList从一个片段发送到另一个片段?我使用的是Intent,但由于我不会开始新的活动,因此无法再使用此方法。我可以从服务器再次检索所有数据,但我不希望使用此方法,因为它不应该是必需的。此外,ListView中的数据将随着用户滚动而增长,因此每次获取数据时,我都需要在另一个片段上更新它。

关于如何将ArrayList发送到另一个活动并立即更新它的任何想法?感谢。

4 个答案:

答案 0 :(得分:0)

有很多方法可以做你想做的事情 - 最痛苦的(在短期内)经常使用像otto http://square.github.io/otto/这样的消息总线

答案 1 :(得分:0)

我认为执行此操作的逻辑方法是在活动中保留或检索数据,并使用setArguments方法将数据传递给片段。看看这篇文章:How to pass a variable from Activity to Fragment, and pass it back?

将ArrayList放入setArguments包中的棘手部分是ArrayList需要可以分解的任何类型

答案 2 :(得分:0)

我会在片段中使用一个接口来设置活动中的监听器。在界面中,您可以将您可能需要的任何信息传回活动,

答案 3 :(得分:0)

使用支持库中的LocalBroadcastManager

通过谷歌搜索可以找到很多例子,但这里有一个来自另一个SO问题。 Android: How to use LocalBroadcastManager

相关问题