轮换重新启动活动

时间:2013-05-03 21:39:24

标签: android

我的Android应用程序有问题。旋转手机时我的活动重新开始(onCreate被调用)。我有googlet并尝试过 android:configChanges="keyboardHidden|orientation">在我的表现中,但没有运气。有人可以向我解释如何让这个工作

编辑:我发现我需要广告这些代码

清单

<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();
    }
}

2 个答案:

答案 0 :(得分:2)

在您的活动中,您可以覆盖方法onSaveInstanceState。您可以将所需信息保存到Bundle。方向更改后,该捆绑包将传递到onCreate方法。如果您只想在清单文件中指定要使用的一个方向,请在应用程序选项卡或活动标记下放置:

android:screenOrientation="portrait"

答案 1 :(得分:1)

您可以尝试android:configChanges="keyboard|orientation|screenSize">。但是,请注意,在配置更改时重新启动活动是正常行为。除非您有非常具体的需求,否则不应使用configChanges。