Android - 有关更改屏幕方向的活动生命周期的查询

时间:2015-04-18 11:40:29

标签: android android-activity activity-lifecycle

编辑:此问题的解决方案是 - Android - Query regarding activity lifecycle on changing screen orientation

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

Activity B时,如果屏幕方向保持不变并按下后退按钮,则按预期方式转到Activity A的{​​{1}}方法。但是,在onResume()中更改屏幕方向时,在稍后按后退按钮时,会转到Activity B的{​​{1}}方法,从而重新创建Activity AonCreate()Activity B中调用Activity A。只有按两次后退按钮才会返回B的{​​{1}}方法。如何确保在更改方向时,我只需按一下按钮即可转到onCreate()的{​​{1}}?

我尝试过包括:

Activity A

在清单中的onResume()中,因此可以避免在更改方向时调用Activity A的{​​{1}},但它仍然无法解决我的问题。

2 个答案:

答案 0 :(得分:0)

活动A是基础,所有onResume和onBack都使用它,结束。 首先,你可以使用onResume和onBack类来启动Activity B. 在旋转时,B是重新创建的,而不是A,因为你在B中。 我想你必须改变你的出发方式B. 或者onResume of B,finish()B然后在onResume A再次开始B.

答案 1 :(得分:0)

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

android:configChanges="keyboardHidden|screenSize|orientation"

清单中的活动A.