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 に答える