Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/224.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 未调用恢复的片段_Android_Android Fragments_Android Fragmentactivity_Onresume - Fatal编程技术网

Android 未调用恢复的片段

Android 未调用恢复的片段,android,android-fragments,android-fragmentactivity,onresume,Android,Android Fragments,Android Fragmentactivity,Onresume,我有4个(比如说1、2、3和4个)片段。同时,它们中的任何一个都将对用户可见。在第二个片段中,我想在用户进入时做一些事情。 现在,当用户导航到第三个片段并点击后退按钮时,我想运行一些代码。我的问题是,onResume当用户点击后退按钮并进入第二个片段时,不会被呼叫。我最近遇到了同样的问题,我知道这已经太晚了,但为了防止其他人发现这个问题,我的答案如下: 感谢@fasteque缩小了我的搜索范围 只有在调用活动onResume()或onPause()时,才会调用片段onResume()或onPau

我有4个(比如说1、2、3和4个)片段。同时,它们中的任何一个都将对用户可见。在第二个片段中,我想在用户进入时做一些事情。
现在,当用户导航到第三个片段并点击后退按钮时,我想运行一些代码。我的问题是,
onResume
当用户点击后退按钮并进入第二个片段时,不会被呼叫。

我最近遇到了同样的问题,我知道这已经太晚了,但为了防止其他人发现这个问题,我的答案如下:

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

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

但是如果你仍然想听到活动中的变化,比如哪个片段在上面,并相应地触发事件,你可能想看看


希望这有帮助:)

我也有同样的问题。如果您想从第三个片段切换到第二个片段(使用后退按钮或其他方式),您可以在第三个片段的onPause中调用第二个片段

@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();
     }
}

尝试使用
onAttach()
方法,而不是已经尝试过的
onResume()
。实际上,当我们从片段活动附加它时,只调用了一次OnAttch()。如何在片段之间切换?请添加一些示例代码。是否替换或添加新片段?还要注意,根据官方文档,“fragment onResume()通常与包含活动生命周期的Activity.onResume关联。”