0

我的问题是 onConfigurationChanged 没有被调用。

代码如下:

    public void onConfigurationChanged(Configuration newConfig) {
    Log.i("onconfig", "#### CALLED!"); 
        // TODO Auto-generated method stub
        super.onConfigurationChanged(newConfig);
        LinearLayout listContainer = (LinearLayout)findViewById(R.id.list_container);

        if(newConfig.orientation==Configuration.ORIENTATION_LANDSCAPE){
            listContainer.setOrientation(LinearLayout.HORIZONTAL);
        }
        else{
            listContainer.setOrientation(LinearLayout.VERTICAL);
        }
//      end if else
        }
// end of on configuration changed

在清单中我有:

<activity
        android:name=".FirstListActivity"
        android:label="@string/title_activity_fruits_list"
            android:configChanges="orientation">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

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

感谢任何能提供帮助的人。

4

2 回答 2

2

在属性标签中添加screenSize值。android:configChanges有关更多信息,请阅读此答案

于 2013-01-30T13:42:20.950 回答
0

看到这个答案:https ://stackoverflow.com/a/6109206/1182515

您是否在 onCreate 中使用此方法?

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

使用它时,您将不会收到方向更改。

尝试链接帖子中给出的解决方案。

于 2013-06-12T14:51:56.100 回答