上下文:
我有一个使用Activities
和Fragments
的应用。
我暂停访问另一个像谷歌翻译。在GTranslate中,我使用共享Intent
流程通过intent-filter
ACTION_SEND
将文本数据发送到我的应用。
即使第一个应用程序处于后台,也会重新创建当前的activity
。
问题是指与fragment
相关联的activity
未重新创建且更烦人且未恢复(onResume
方法片段永远不会被调用。)
问题:
为什么通过应用程序使用intent
,fragments
不遵循其父活动的生命周期而至少不会恢复?
有没有办法解决这个问题?
还是我完全错了?
答案 0 :(得分:0)
使用片段活动代替活动。
将onResume()发送到片段。注意,为了更好的互操作 与旧版本的平台,在此调用点 附加到活动的片段不会恢复。这意味着 在某些情况下,之前的状态可能仍然被保存,而不允许 片段修改状态的事务。要正确互动 如果碎片处于正常状态,您应该改写 {@link #onResumeFragments()。
因此,在FragmentActivity中操作片段的正确位置会覆盖onResumeFragments方法,如下所示:
protected void onResumeFragments(){
super.onResumeFragments();
// YOUR STUFF IS HERE
}