这是一个文体问题,而不是实际的“如何做到这一点”,但基本情况是这样的:我有一个 Activity MyActivity
,其中包含 MapFragment
,以及 List
的 Renderers
,这是我自己负责的类显示一些数据。 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/