我看到网上有代码这样写:在xml文件中写:android:configChanges="orientation|keyboardHidden"在Activity中写://横竖屏切换自主调用
@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) { 
 
    //加入竖屏要处理的代码 
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

  
}  上面的代码中,红色部分是我添加的。目的是横屏时不做处理,竖屏时设置为横屏。但是这样写,还是会执行两次oncreate函数。高手帮忙。

解决方案 »

  1.   

    楼主是要永远保持横屏么?注册activity时写成下面这样就不会旋转了。
    <activity android:name=".XXXActivity" android:configChanges="keyboardHidden|orientation"  
                android:screenOrientation="landscape" />  
      

  2.   

    貌似AndroidManifest.xml在对应的activity后添加android:configChanges="orientation|keyboardHidden" 
    我在友盟的sns分享开发指南上看到过这样一段话:
    如果您调用我们提供的SDK 的Activity 支持横竖屏的切换,并且您使用的是我们SDK 中提供的默认
    分享页面,我们强烈建议您将该Activity 设置为在横竖屏切换时Activity 不销毁, 您只需在该
    Activity 中添加: android:configChanges="orientation|keyboardHidden"
      

  3.   

    android:configChanges="orientation|keyboardHidden"
    谁能解释下这句话具体做了什么工作吗
      

  4.   

    完全不需要public void onConfigurationChanged(Configuration newConfig) {   只需要用2楼的方法或者在你的oncreat中判断横竖屏在进行相关的操作。
      

  5.   

    android:configChanges="orientation|keyboardHidden"是在横竖屏切换(orientation)和 键盘影藏(keyboardHidden)的时候不重启Activity