アプリケーションでアクティビティがあり、次のようにメニフェストファイルに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()内に配置しました。方向が変更されるたびに印刷されます。 .なぜそれが起こっているのか、どこか間違っていますか?