Android onCreate方法被调用两次的解决方法

原因:

横竖屏变换

例如:如果你在onCreate方法写了

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE)

让activity横屏,会重写调用一次onCreate方法(debug发现)

解决方法:

第一步:

AndroidManifest.xml中增加下面的设置:

android:configChanges="mcc|mnc|orientation|keyboardHidden"

第二步:

重写下面的方法


@Override
    public void onConfigurationChanged(Configuration newConfig) {
        super.onConfigurationChanged(newConfig);
 
        // 检测屏幕的方向:纵向或横向
        if (this.getResources().getConfiguration().orientation
                == Configuration.ORIENTATION_LANDSCAPE) {
            //当前为横屏, 在此处添加额外的处理代码
        }
        else if (this.getResources().getConfiguration().orientation
                == Configuration.ORIENTATION_PORTRAIT) {
            //当前为竖屏, 在此处添加额外的处理代码
        }
    }
    

你可能感兴趣的:(bug)