如何在Android中的Fragment和非托管活动之间进行通信?

时间:2015-11-10 19:53:47

标签: android android-fragments android-activity interface callback

我有一个活动A,它是一个主活动,带有导航菜单和工具栏,托管带有片段的Viewpager。让我们说该viewpager中的片段B通过单击按钮开始使用活动C的意图。

活动C是一个视频播放器活动,需要使用回调触发片段B中的方法,然后片段B调用活动C中的方法。

我知道片段和活动可以使用接口进行通信,但正如您可能理解的那样,活动C不会托管片段B.

那么两者之间可以做这种接口吗?我需要改变我的整体设计吗?

1 个答案:

答案 0 :(得分:0)

  

那么可以在两者之间进行这种接口吗?

这取决于你究竟在做什么,但正如你所写,我会给它一个坚实的“不”。

在您的方案中,显示活动C时,片段B不可见。片段B将被停止(即onStop()已被调用),因此你真的不应该用它做任何事情。

听起来你需要一个稍微不同的架构,其中需要在片段B和活动C之间共享的组件作为独立的组件存在,独立于片段B和活动C的生命周期。