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