旋转时出现问题。不希望OnCreate再次运行

这是代码
---->清单

<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="18"/>


---->清单

<activity
    android:name=".actManten"
    android:label="Correctivo"
    android:configChanges="keyboard|keyboardHidden|orientation">
</activity>


---->活动

@Override
public void onConfigurationChanged(Configuration newConfig) {
    super.onConfigurationChanged(newConfig);
}


请帮帮我

最佳答案

1-您可以通过将android:screenOrientation="portrait"(或"landscape")添加到<activity>中的manifest来将活动锁定在一个方向。

2-您可以通过在android:configChanges="screenOrientation"标记中指定<activity>来告诉系统您打算自己处理屏幕更改。这样,将不会重新创建活动,而是会收到回调(您可以忽略该回调,因为它对您没有用)。

我个人会选择(2)。当然,如果将应用程序锁定为一种方向也可以,那么您也可以选择(1)。

根据您选择的选项,您的活动应这样声明:

1-

<activity
    android:name=".actManten"
    android:label="Correctivo"
    android:screenOrientation="portrait"
    android:configChanges="keyboard|keyboardHidden|orientation">
</activity>


2

<activity
    android:name=".actManten"
    android:label="Correctivo"
    android:configChanges="keyboard|keyboardHidden|orientation|screenOrientation">
</activity>


Android 3.2及更高版本(API 13)的注释-从此版本开始,屏幕旋转还会导致屏幕尺寸更改,从而刷新UI。您需要声明“ orientation|screenSize”而不是仅声明“ orientation”。 http://developer.android.com/guide/topics/resources/runtime-changes.html#HandlingTheChange

07-24 09:45
查看更多