5

上下文:我有一个使用Activitiesand的应用程序Fragments。我暂停它以访问另一个,如谷歌翻译。从 GTranslate,我使用共享Intent过程将文本数据发送到我的应用程序intent-filter ACTION_SEND。即使第一个应用程序在后台,它的当前应用程序activity也会重新创建。

问题是与所提及的关联fragmentactivity没有重新创建,更烦人的没有恢复(onResume片段的方法永远不会被调用)。

问题:为什么在intent通过应用程序使用时,fragments不遵循其父活动的生命周期并且至少不恢复?有没有办法解决这个问题?

还是我完全错了?

4

1 回答 1

0

使用片段活动而不是活动。

FragmentActiviy

将 onResume() 分派到片段。请注意,为了更好地与旧版本的平台互操作,在此调用时,附加到活动的片段不会恢复。这意味着在某些情况下,之前的状态可能仍然被保存,不允许修改状态的片段事务。要正确与处于正确状态的片段交互,您应该重写 {@link #onResumeFragments()。

因此,在 FragmentActivity 中操作片段的正确位置是覆盖 onResumeFragments 方法,如下所示:

protected void onResumeFragments(){    
super.onResumeFragments();

        // YOUR STUFF IS HERE
}
于 2013-09-03T16:34:12.567 回答