0

我有下一个 UI 层次结构:

FragmentActivity->FragmentTabHostLocalActivityManager -> MyNestedActivity

MyNestedActivity 位于Fragment. 当我调用startActivityForResult()MyNestedActivity 时,Activity正常启动,但onActivityResult()从未调用过。

但是,如果我使用 MyNestedActivity 打开startActivity(),则onActivityResult()可以正常工作。

我什么时候必须上钩onActivityResult()FragmentActivity进进进出Fragment?我必须如何将结果发送到我的 MyNestedActivity?

解决了:

在此 UI 层次结构中onActivityResult()未调用。我只是将 MyNestedActivity 更改为Fragment,我的层次结构变为FragmentActivity-> Fragment。现在onActivityResult()工作正常。

4

3 回答 3

2

onActivityResult()在嵌套中Activity不被 Android 调用。

在嵌套活动中获取活动结果的正确方法是:

  1. startActivityForResult()来自主机Activity(不是来自嵌套!),

  2. Activity在主机中接收结果Activity

  3. 将结果分派Activity到嵌套Activity的 .

于 2012-07-11T06:24:14.433 回答
0

如果startActivityForResult()要从 Fragment 调用,则必须onActivityResult()在 Fragment 类中而不是在宿主 Activity 中设置方法。有关更多信息,请参阅此链接

于 2012-04-26T13:09:22.073 回答
0

我们遇到了这个https://groups.google.com/forum/?fromgroups=#!topic/android-developers/65oLmvIlgFM问题,并通过将活动启动模式更改为 singleInstace 或 singleTask 以外的方式来解决它。

于 2012-10-04T23:19:09.883 回答