Android 在一个片段中像覆盖一样继续
现场 我有一个包含2个片段的活动Android 在一个片段中像覆盖一样继续,android,Android,现场 我有一个包含2个片段的活动 活动A已启动 片段B完全接管了活动A(UI方面)。 在这里,根据操作,片段C启动并接管整个UI 目标 我想知道用户何时从片段C返回,并返回到片段B 问题 我们都知道不能在片段B中使用onResume覆盖,因为此onResume与活动的生命周期紧密耦合。如果在片段B中有一个像onResume这样的覆盖,它将真正帮助我的案例。我知道当片段C超过它时,片段B并没有暂停,所以我知道类似于onResume的策略不起作用 解决方案 我想我可以在活动a中的backpresse
private onBackPressed()
{
if (currentFragment == Fragment C) {
FragmentB = findFragmentB();
//call custom method written in FragmentB
FragmentB.onBackPressed();
} else {
super.onBackPressed();
}
}
在我继续之前,这是正确的前进方向吗?准确地说,,,如果这个问题有最合适、最简单的解决方案。我认为你应该继续这样做。我找到了其他方法,但这比其他方法更好、更简单,仅此一点就行了
BaseFragment currFrag = (BaseFragment) manager.findFragmentById(R.id.fragmentname);
currFrag.onFragmentResume();
这里不需要解释,onFragmentResume字面上调用片段的Resume。您可以使用fragmentonresume()并应该使用。活动onResume()调用片段onResume()。这是件好事,恐怕不行。我从片段C中按回来,而片段B的简历无效(.是的,就psuedo代码而言,您的想法是对的。只需用实例检查一下。比如if(片段C的currentFragment实例){}我不认为您应该手动调用片段或活动的生命周期方法。…@EpicPandaForce我不认为他指的是调用生命周期方法,因为它不存在这样的方法。他说的似乎是您应该使用该方法创建BaseFragment类。