1

アプリケーションでアクティビティがあり、次のようにメニフェストファイルにandroid:configChanges="orientation"を設定しました:

 <activity
      android:name=".MyActivity"
      android:label="@string/app_name"
      android:configChanges="orientation">
      <intent-filter>
        <action android:name="android.intent.action.MAIN"/>
        <category android:name="android.intent.category.LAUNCHER"/>
      </intent-filter>
    </activity>

およびそれを処理する方法:

@Override
  public void onConfigurationChanged(Configuration config) {
    super.onConfigurationChanged(config);
    if (config.orientation == Configuration.ORIENTATION_LANDSCAPE) {
      Toast.makeText(this, "landscape", Toast.LENGTH_SHORT).show();
  } else if (config.orientation == Configuration.ORIENTATION_PORTRAIT){
      Toast.makeText(this, "portrait", Toast.LENGTH_SHORT).show();
  }
  }

ほとんどのGoogle検索で、アクティビティの再起動を防ぐと言っていることがわかりましたが、方向が変更されて開始されています.System.out ...をonCreate()内に配置しました。方向が変更されるたびに印刷されます。 .なぜそれが起こっているのか、どこか間違っていますか?

4

1 に答える 1

1

これをマニフェスト ファイルで使用します。

android:configChanges="orientation|keyboardHidden"

オリエンテーションでは、アクティビティは再開されません

于 2012-04-09T10:05:52.497 に答える