这是一个文体问题,而不是实际的“如何做到这一点”,但基本情况是这样的:我有一个 Activity MyActivity ,其中包含 MapFragment ,以及 ListRenderers ,这是我自己负责的类显示一些数据。 Renderers 也有 ViewPagers ,它从另一个类中获取它们的内容 View ,我们称之为 ViewPagerTab 。有时,某些 ViewPagerTabs 中的某些内容需要更新顶级 Activity 中的 map 。在我看来,有几种方法:

1) 我的 Renderers 和我的 ViewPagerTabs 都包含对上下文的引用。如果我将上下文转换为 MyActivity 我可以访问它的 map 参数。

2) 通过使用对上下文的引用,我可以在其上调用 getSupportFragmentManager().findFragmentById(R.id.map)).getMap() 并以这种方式获取 map 。

3)我可以在创建时将 map 从 Activity 传递到 Renderers 再到 ViewPagerTabs,这样每个 map 都可以作为类变量访问。

4) 在我的 BroadcastReceiver 中使用 Activity 并在 map 需要从我的 ViewPagerTab 更新时向它发送消息。

我错过了什么吗?这样做的最佳/最干净的方法是什么?

最佳答案

本课可能会给你一些想法:
Communicating with other Fragments
基本上的想法是在一个子单元中定义一个接口(interface),比如一个 Fragment,然后在父 Activity 中实现它。然后,实际调用Fragment 中接口(interface)中的方法。

关于android - 访问父 Activity 数据的最佳方式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19255829/

10-14 20:21
查看更多