2013-06-20 65 views
-2

我正在开发android应用程序。当我改变设备的方向时,活动重新开始。
我申请了所有android:configChanges="orientation|keyboard|keyboardHidden"但仍然无法正常工作。如何防止活动在Android中的方向更改时重新启动?

任何帮助将不胜感激。

+0

林不太确定,但据我所知,不可能,如果应用程序重新启动,你面临的问题是什么?您始终可以将活动状态保存在包中。 –

回答

2

您可以在清单文件中添加此代码,并使用相应的活动。

android:configChanges="orientation|keyboardHidden" android:screenOrientation="portrait" 
+0

但它会修复纵向模式下的应用程序。我想动态更改方向,但不想重新启动活动。 – user2496512

+0

检查您的设备方向设置。自动旋转应该打开 – rahultheOne

0

您可以通过使用

android:screenOrientation="portrait" 

android:screenOrientation="landscape" 

否则锁定的方向变化,

onCreate(); // will run every time the activity is recreated. 

为避免数据丢失,可以将其保存在这个回调:

protected void onSaveInstanceState(Bundle icicle) { 
    super.onSaveInstanceState(icicle); 
    icicle.putLong("myLong", myLongValue); 
} 

而且这样的方式进行恢复:

public void onCreate(Bundle icicle) { 
    if (icicle != null) 
     myLongValue = icicle.getLong("myLong"); 

} 

希望这有助于!

相关问题