从反向堆栈弹出片段时会调用哪些生命周期方法

时间:2016-05-29 16:37:29

标签: android android-fragments

我有 FragmentA FragmentB 。 我使用add(非替换)片段事务将 FragmentA 添加到Activity。 FragmentA 中的按钮会对其活动进行回调,然后生成add片段事务以添加 FragmentB

我使用 FragmentA FragmentB 中的变量值(在线提取)更新ActionBar的标题。

在我上面概述的片段交易之后,如果我在 FragmentB 并按下后退按钮(现在我在 FragmentA ),标题为ActionBar仍然是 FragmentB

所以当我来自 FragmentB 时,我想知道在 FragmentA 上调用了哪些生命周期方法,所以我可以从那里更新Actionbar。

2 个答案:

答案 0 :(得分:0)

我不知道在弹出backstack时是否有一个方法被调用,但你可以做的是在包含片段的Activity类中覆盖onBackPressed,调用fragmentManager.popBackStackImmediate。此方法返回一个布尔值,如果为真,则从fragmentB转到fragmentA(或转到任何其他先前的片段)。您在活动课程中,因此无论如何您都可以更新您的ActionBar。 还有一件事,如果fragmentManager.popBackStackImmediate为true,请不要调用super.onBackPressed()!!!

答案 1 :(得分:-1)

onStart()方法显然是适应的方法。从后台堆栈来的时候,它总会被调用。