在我的Android应用程序中,当我旋转设备(滑出键盘)时,“活动”将重新启动(调用onCreate)。现在,这可能是应该的,但我在onCreate方法中做了很多初始设置,所以我需要:

将所有初始设置放在另一个功能中,这样不会在设备旋转或使其不再调用Create,布局仅调整或将应用程序限制为仅肖像,以便不调用onCreate。


当前回答

在清单的活动部分中,添加:

android:configChanges="keyboardHidden|orientation"

其他回答

修复AndroidManifest.xml中的屏幕方向(横向或纵向)

android:screenOrientation=“纵向”或android:scheenOrientation=“横向”

为此,不会调用onResume()方法。

人们都说你应该使用

android:configChanges="keyboardHidden|orientation"

但在Android中处理旋转的最佳和最专业的方法是使用Loader类。这不是一个著名的类(我不知道为什么),但它比AsyncTask要好得多。有关更多信息,您可以阅读Udacity的Android课程中的Android教程。

当然,作为另一种方式,您可以使用onSaveInstanceState存储值或视图,并使用onRestoreInstanceState读取它们。这真的取决于你。

每次旋转屏幕时,打开的活动都会完成,并再次调用onCreate()。

1.当屏幕旋转时,您可以做一件事来保存活动状态,这样,当再次调用活动的onCreate()时,您就可以恢复所有旧的内容。参考此链接

2.如果要阻止重新启动活动,只需在manifest.xml文件中放置以下行。

<activity android:name=".Youractivity"
    android:configChanges="orientation|screenSize"/>

很简单,只需执行以下步骤:

<activity
    android:name=".Test"
    android:configChanges="orientation|screenSize"
    android:screenOrientation="landscape" >
</activity>

这对我有用:

注意:方向取决于你的要求

将以下代码放入Manifest.xml中的<activity>标记中:

android:configChanges="screenLayout|screenSize|orientation"