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