编辑:此问题的解决方案是 - 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 A
(onCreate()
在Activity B
中调用Activity A
。只有按两次后退按钮才会返回B
的{{1}}方法。如何确保在更改方向时,我只需按一下按钮即可转到onCreate()
的{{1}}?
我尝试过包括:
Activity A
在清单中的onResume()
中,因此可以避免在更改方向时调用Activity A
的{{1}},但它仍然无法解决我的问题。
答案 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.