如何将活动结果发送到片​​段

时间:2016-09-27 14:38:47

标签: android android-fragments

我有活动A,在该活动中有一个名为F1的片段,在该片段中我有另一个片段F2。从F2我调用startActivityForResult(/ Activity B /),然后在完成活动B.片段F2的onActivityResult()被调用但我希望在F1中发生同样的事情。 我想要的是片段F1应该得到活动B完成的事件。 对此有任何帮助表示赞赏。

3 个答案:

答案 0 :(得分:0)

您好需要在Activity的

中获取当前片段形式片段管理器
onActivityResult()  Method. 

只需调用fragment的onActivityResult()方法即可。

CustomFragment fragment = (CustomFragment ) getFragmentManager().findFragmentByTag(getFragmentManager().getLastBackStackEntry());
fragment.onActivityResult();

您可以使用此技术。

答案 1 :(得分:0)

您最有可能从StartActivityForResult片段中调用F2。由于您不希望结果返回F2,因此您需要在片段F1上调用该方法。

很高兴看到一些代码来查看你实际在做什么。

答案 2 :(得分:0)

根据您的问题,似乎F2是F1的子片段。

如果是这样,您可以从片段F2调用startActivityForResult方法,如下所示:

    getParentFragment().startActivityForResult(intent, requestCode);

现在,当你完成第二个活动时,它将自动调用父片段的onActivityResult()方法(即片段F1)。