我有 4 个(比如说 1、2、3 和 4 个)片段。并且一次它们中的任何一个都将对用户可见。在第二个片段中,我想在用户使用它时做一些事情。现在,当用户导航到第三个片段并点击后退按钮时,我想运行一些代码。我的问题是onResume
当用户点击后退按钮并进入第二个片段时没有被调用。
问问题
8358 次
2 回答
4
我最近遇到了同样的问题,我知道为时已晚,但以防万一其他人正在寻找这个,这是我的答案:
感谢@fasteque 缩小了我的搜索范围。
只有在调用活动或时才会调用片段onResume()
或。它们与 Activity 紧密耦合。onPause()
onResume()
onPause()
但是如果你仍然想听你的活动中的变化,比如哪个片段在上面,并相应地触发事件,你可能想看看FragmentManager.OnBackStackChangedListener
希望这可以帮助 :)
于 2014-02-20T13:44:04.693 回答
1
我有同样的问题。如果您想从第三个片段切换到第二个片段(使用后退按钮或其他方式),您可以在第三个片段的 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();
}
}
于 2017-10-03T12:11:41.323 回答