旋转重新启动活动
问题描述:
我的Android应用程序出现问题。当我旋转手机(onCreate被调用)时,我的活动重新开始。我有googlet,并尝试 android:configChanges="keyboardHidden|orientation">
在我的表现,但没有运气。可有人请向我解释如何我能得到这个工作旋转重新启动活动
编辑:我发现我NEDD到广告这些代码
清单
<activity
android:name="?"
android:label="@string/?"
android:theme="@style/?"
android:configChanges="orientation|screenSize">
MainActivity
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
// Checks the orientation of the screen
if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
Toast.makeText(this, "landscape", Toast.LENGTH_SHORT).show();
} else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){
Toast.makeText(this, "portrait", Toast.LENGTH_SHORT).show();
}
}
答
您可以试试android:configChanges="keyboard|orientation|screenSize">
。但是,请注意,在配置更改时重新启动Activity是正常行为。除非你有非常特殊的需求,否则你不应该使用configChanges。
答
在您的活动中,您可以覆盖方法onSaveInstanceState
。您可以将所需的信息保存到Bundle
。方向更改后,该捆绑将被传递到onCreate
方法。如果你宁愿只指定一个方向使用,您的清单文件中,无论是在应用程序选项卡或活动标签,地点:
android:screenOrientation="portrait"
可以相应地重新加载旋转数据,或将其锁定为纵向|景观。 – Doomsknight 2013-05-03 21:40:34
如何重新加载旋转的数据? – Thor1401 2013-05-05 00:19:13
重新启动配置更改的活动是Android上的正确和自然行为。只需使用onSaveInstanceState来保存您想要在旋转过程中保留的数据。 – Teovald 2013-05-05 12:50:29