0

新しいプロジェクトでapi2.3.3を使用しています。タブレットのサムスンギャラクシータブ2を使用しており、向きを変更すると新しいアクティビティが作成されます。

これは私が試している単純なコードです:

主な活動

public class MainActivity extends Activity {

        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            Log.e("TAG","ONCREATE");
        }

        @Override
        public void onConfigurationChanged(Configuration newConfig) {
            super.onConfigurationChanged(newConfig);
            if (getResources().getConfiguration().orientation==Configuration.ORIENTATION_LANDSCAPE) {
                Log.e("TAG","LANDSCAPE");
            }else{
                Log.e("TAG","PORTRAIT");
            }
        }

マニフェスト

  <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="14" />

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".MainActivity"
            android:label="@string/title_activity_main"
            android:configChanges="orientation|keyboardHidden|keyboard"> 
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />            
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

私のコードはうまくいっていると思います。私は多くの例を読みましたが、それは同じです。

どうしたの?

ありがとう

4

3 に答える 3

2
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) 
{
    super.onRestoreInstanceState(savedInstanceState);
    if (savedInstanceState != null) 
    {
        if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT)
        {
            // code for portrait
        }
        else if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE)
        {
            // code for landscape
        }

    }
}

onConfigurationChanged メソッドの代わりに上記のコードを試してみてください。うまくいきました。

于 2012-12-04T12:45:03.810 に答える
1

13より大きいAPIを構築している場合は、以下を使用する必要があります。

android:configChanges="orientation|screenSize"
于 2013-03-18T06:28:04.777 に答える
0

マニフェストファイルでキーボードとキーボードの隠し単語を削除して確認してください。お気に入り:

android:configChanges="orientation"
于 2012-12-04T12:38:01.970 に答える