2015-04-18 23 views
1

编辑活动的生命周期查询:解决这个问题 - Android - Query regarding activity lifecycle on changing screen orientationAndroid的 - 就在改变屏幕方向

我开始Android开发和现在面临有关活动的生命周期的问题。我有一个Activity A,在其onCreate()方法中调用Activity BActivity B在相对布局内部具有自定义网格视图)。

当在Activity B中,如果屏幕方向保持不变并且按下后退按钮,则按预期方式转到Activity AonResume()方法。但是,在Activity B中更改屏幕方向时,在稍后按下后退按钮时,它将转至Activity AonCreate()方法,从而重新创建Activity B(因为Activity A在其onCreate()中调用B)。只有按下后退按钮两次,才会返回到Activity AonResume()方法。如何确保在改变方向时,我只需按一次返回按钮即可转到Activity AonResume()

我试过,包括:在清单

android:configChanges="keyboardHidden|screenSize|orientation" 

Activity B因此这避免了呼吁Activity B“关于改变方向小号onCreate,但它仍然没有解决我的问题。

+0

从活动A的结果开始活动B. –

+0

活动A是基础,所有onResume和onBack都使用它,End。 在你开始的Activity B的头上,它有onResume和onBack类。 旋转时,B被重新创建,而不是A,因为你在B. 我认为你必须改变你开始的方式B. –

回答

0

我找到了解决方案。由于在活动B中屏幕方向已更改,活动A正在重新创建(与之前不同)。因此,所需要的只是将清单中的活动A添加到

android:configChanges="keyboardHidden|screenSize|orientation" 

0

活动A是基础,所有onResume和onBack都可以使用它,End。 在你开始的Activity B的头上,它有onResume和onBack类。 在轮换时,B被重新创建,而不是A,因为你在B. 我认为你必须改变你开始的方式B. 或onResume of B,完成()B.然后在onResume中再次开始B.

+0

谢谢你的回答,我已经发布了一个工作解决方案来解决我的问题。我还需要将android:configChanges添加到Activity A中。 –