不要在方向更改时重新启动应用程序

时间:2014-05-27 22:31:24

标签: java android

我是Android开发的新手,并且一直在创建简单的应用程序,并且他们都在制作一个名为void logic()的方法,我在ViewDidLoad方法的末尾调用了该方法。 logic()包含我的应用程序具有的所有功能。这个问题是,每当屏幕改变方向时,重新调用ViewDidLoad方法,然后我的应用程序启动,就像第一次打开应用程序一样。有谁知道如何做到这一点?这与此问题类似Don't reload application when orientation changes但是我确实希望在更改方向时重新调用ViewDidLoad,以便使用新方向重新创建视图。但是,我不希望重新启动应用程序。感谢。

1 个答案:

答案 0 :(得分:0)

您可以使用:

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

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

您的活动显示:

<activity android:name=".yourname"
          android:configChanges="orientation|keyboardHidden">
</activity>