Android - 关于改变屏幕方向的 activity 生命周期的查询
Android - Query regarding activity lifecycle on changing screen orientation
编辑: 这个问题的解决方案是 -
我正在开始 Android 开发,我面临着 activity 生命周期方面的问题。我有一个 Activity A
在其 onCreate()
方法中调用 Activity B
(Activity B
在相对布局中有一个自定义网格视图)。
当在 Activity B
中时,如果屏幕方向保持不变并按下后退按钮,它将按预期转到 Activity A
的 onResume()
方法。但是,在 Activity B
中更改屏幕方向时,稍后按下后退按钮时,它会转到 Activity A
的 onCreate()
方法,从而重新创建 Activity B
(如 Activity A
在其 onCreate()
中调用 B
)。只有按两次后退按钮,它才会返回到 Activity A
的 onResume()
方法。我如何确保在改变方向时,只需按一次后退按钮即可转到 Activity A
的 onResume()
?
我试过包括:
android:configChanges="keyboardHidden|screenSize|orientation"
in Activity B
in manifest 因此这避免了在改变方向时调用 Activity B
的 onCreate
但它仍然没有解决我的问题。
Activity A是base,onResume和onBack都用它,End。
首先你开始 Activity B,它是 onResume 和 onBack 类。
在旋转时,重新创建 B,而不是 A,因为您在 B 中。
我认为你必须改变开始 B 的方式。
或B的onResume,finish() B。然后在onResume A中再次启动B。
我找到了解决方法。由于屏幕方向在 Activity B 中发生了变化,因此正在重新创建 Activity A(与之前不同的方向)。所以所需要的只是添加
android:configChanges="keyboardHidden|screenSize|orientation"
至 Activity 清单中的 A。
编辑: 这个问题的解决方案是 -
我正在开始 Android 开发,我面临着 activity 生命周期方面的问题。我有一个 Activity A
在其 onCreate()
方法中调用 Activity B
(Activity B
在相对布局中有一个自定义网格视图)。
当在 Activity B
中时,如果屏幕方向保持不变并按下后退按钮,它将按预期转到 Activity A
的 onResume()
方法。但是,在 Activity B
中更改屏幕方向时,稍后按下后退按钮时,它会转到 Activity A
的 onCreate()
方法,从而重新创建 Activity B
(如 Activity A
在其 onCreate()
中调用 B
)。只有按两次后退按钮,它才会返回到 Activity A
的 onResume()
方法。我如何确保在改变方向时,只需按一次后退按钮即可转到 Activity A
的 onResume()
?
我试过包括:
android:configChanges="keyboardHidden|screenSize|orientation"
in Activity B
in manifest 因此这避免了在改变方向时调用 Activity B
的 onCreate
但它仍然没有解决我的问题。
Activity A是base,onResume和onBack都用它,End。 首先你开始 Activity B,它是 onResume 和 onBack 类。 在旋转时,重新创建 B,而不是 A,因为您在 B 中。 我认为你必须改变开始 B 的方式。 或B的onResume,finish() B。然后在onResume A中再次启动B。
我找到了解决方法。由于屏幕方向在 Activity B 中发生了变化,因此正在重新创建 Activity A(与之前不同的方向)。所以所需要的只是添加
android:configChanges="keyboardHidden|screenSize|orientation"
至 Activity 清单中的 A。