Android 横竖屏切换时候重新进行数据请求问题

转载:Android重写onConfigurationChanged规避横竖屏切换时候重新进入onCreate生命周期

Android系统内在的机制,当activity在横竖屏切换时候,会强制重新开始进入activity的生命周期onCreate,在有些特殊的场景,开发者不希望重新进入onCreate生命周期,那么,可以通过重写Android的onConfigurationChanged规避。
具体做法:
(1)添加权限:

(2)因为需要在activity里面检测横竖屏幕的切换变化,故而在Androidmanifest.xml里面配置目标activity的属性:

android:configChanges="orientation|screenSize"  
至此,完整的Androidmanifest.xml文件:
 
    
    

        
            
                

                
            
        

        

(3)接下来就是重写activity里面的onConfigurationChanged:

//重写次方法可以规避重新执行activity的onCreate方法
    @Override
    public void onConfigurationChanged(Configuration newConfig) {
        super.onConfigurationChanged(newConfig);
        LogUtils.d(TAG,"onConfigurationChange");
        if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
            //横屏
            
            LogUtils.d(TAG,"横屏");
        } else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {
            //竖屏
            LogUtils.d(TAG,"竖屏");
          
        }

    }
在对应的方法中进行相应的操作即可,切莫重新setConvertView();会导致界面为空白

你可能感兴趣的:(android,开发)