片段onResume未调用

时间:2013-03-13 10:45:35

标签: android android-fragments android-fragmentactivity onresume

我有4个(比方说1,2,3和4个)片段。用户可以看到其中任何一个。在第二个片段中,我想在用户加入时做一些事情。 现在,当用户导航到第3个片段&点击后退按钮,我想运行一些代码。我的问题是当用户点击后退按钮时,onResume没有被调用。来到第二个片段。

2 个答案:

答案 0 :(得分:4)

我最近碰到了同样的问题,我知道为时已晚,但为了防止其他人正在寻找这个,这是我的回答:

感谢@fasteque缩小我的搜索范围。

只有在调用活动onResume()onPause()时才会调用片段onResume()onPause()。它们与活动紧密结合。

但是,如果你仍然希望听取活动中的变化,比如哪个片段位于顶部,并相应地触发事件,你可能想看看FragmentManager.OnBackStackChangedListener

希望这会有所帮助:)

答案 1 :(得分:1)

我遇到了同样的问题。如果要从第3个片段切换到第2个片段(使用后退按钮或其他方式),可以在第3个片段的onPause中调用第2个片段。

@Override
public void onPause() {
    super.onPause();

     Fragment2 fragment2= (Fragment2) getActivity().getSupportFragmentManager().findFragmentById(R.id.fragment2);
     if (fragment2!= null) {
         //you can call any function from fragment2
         fragment2.SomeFunctions();
     }
}