首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >onConfigurationChanged(Configuration newConfig)未调用

onConfigurationChanged(Configuration newConfig)未调用
EN

Stack Overflow用户
提问于 2013-01-22 17:00:40
回答 1查看 2.1K关注 0票数 1

在我的应用程序中,我只是覆盖了方法onConfigurationChanged方法,如下所示

代码语言:javascript
复制
@Override
public void onConfigurationChanged(Configuration newConfig) {
    System.out.println("Configuration Changed");
    Configuration c = getResources().getConfiguration();

    if (c.orientation == Configuration.ORIENTATION_PORTRAIT) {
        // portrait

    } else if (c.orientation == Configuration.ORIENTATION_LANDSCAPE) {
        // landscape

    }
}

但是当屏幕方向被调用时,它不会被调用。

在清单中,我的活动如下所示

代码语言:javascript
复制
<activity
        android:name=".MainActivity"
        android:configChanges="orientation"
        android:label="@string/title_activity_main" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-22 17:38:20

它没有被称为super.onConfigurationChanged(newConfig);,所以这个方法变成了

代码语言:javascript
复制
@Override
public void onConfigurationChanged(Configuration newConfig) {

  super.onConfigurationChanged(newConfig);

  System.out.println("Configuration Changed");
  Configuration c = getResources().getConfiguration();

  if (c.orientation == Configuration.ORIENTATION_PORTRAIT) {
    // portrait
  } else if (c.orientation == Configuration.ORIENTATION_LANDSCAPE) {
    // landscape
  }

}

并在manifest中添加了android:configChanges="orientation|screenSize"

感谢SSS :-)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14454792

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档