切换到横向模式时片段冻结

时间:2014-04-08 04:49:59

标签: android android-fragments android-orientation

我的应用中有一个片段占用了我的一半活动。在该片段中是一个视图寻呼机,其中包含3个其他片段......

当我在横向或纵向模式下最初时,一切正常。但是当我在我的模拟器中切换到横向时(我的模拟器是 GenyMotion ,其工作速度是原始AVD管理器的5倍。

片段仍然在我的活动中正确显示,但它已被冻结。 这意味着我无法点击按钮或在 ViewPager 或其他任何内容之间滑动。

任何人都可以告诉我什么是错的。是我的模拟器还是我的代码?非常感谢帮助...谢谢!

1 个答案:

答案 0 :(得分:0)

使用onSavedInstanceState()和onRestoreInstanceState()。

onSaveInstanceState()在更改屏幕方向之前保存当前活动的状态,而onRestoreInstanceState()在方向更改时恢复状态

    protected void onSaveInstanceState(Bundle icicle) {
  super.onSaveInstanceState(icicle);
}

在您的父活动中写上面的方法。

要恢复活动状态,您可以使用onRestoreInstanceState()以及onCreate()。

在onStart()之前调用onRestoreInstanceState()并在onStart()之前调用onCreate()。

因此,在您的情况下,您可以在父活动中使用onSaveInstanceState()。在更改方向之前保存活动状态,onCreate()将使用以前保存的状态重新创建活动。