我的应用中有一个片段占用了我的一半活动。在该片段中是一个视图寻呼机,其中包含3个其他片段......
当我在横向或纵向模式下最初时,一切正常。但是当我在我的模拟器中切换到横向时(我的模拟器是 GenyMotion ,其工作速度是原始AVD管理器的5倍。)
片段仍然在我的活动中正确显示,但它已被冻结。 这意味着我无法点击按钮或在 ViewPager
或其他任何内容之间滑动。
任何人都可以告诉我什么是错的。是我的模拟器还是我的代码?非常感谢帮助...谢谢!
答案 0 :(得分:0)
使用onSavedInstanceState()和onRestoreInstanceState()。
onSaveInstanceState()在更改屏幕方向之前保存当前活动的状态,而onRestoreInstanceState()在方向更改时恢复状态
protected void onSaveInstanceState(Bundle icicle) {
super.onSaveInstanceState(icicle);
}
在您的父活动中写上面的方法。
要恢复活动状态,您可以使用onRestoreInstanceState()以及onCreate()。
在onStart()之前调用onRestoreInstanceState()并在onStart()之前调用onCreate()。
因此,在您的情况下,您可以在父活动中使用onSaveInstanceState()。在更改方向之前保存活动状态,onCreate()将使用以前保存的状态重新创建活动。