ここの Google の例に従って、フラグメントに基づいてアプリを開発しました。
私のメイン アクティビティには、タイトルのリスト フラグメントと、ランドスケープ モードで作成された場合は詳細フラグメントが含まれます。アプリが縦向きモードで開始された場合、メイン アクティビティにはリスト フラグメントのみが含まれ、リスト アイテムがクリックされると、詳細フラグメントを表示する新しいアクティビティが開始されます。
ポートレイトまたはランドスケープ モードのいずれかにとどまると、すべて正常に動作します。しかし、向きを変えるとすぐに、複数の問題が発生します。
1 番目の問題:縦向きモードで開始してから横向きモードに変更すると、アクティビティがアクティビティ スタックに 2 回追加され、アプリを閉じるために [戻る] ボタンを 2 回押す必要があります。これが Google が望んでいる方法だとは想像できません。どうすればこれを回避できますか?
2 番目の問題:ランドスケープ モードからポートレート モードに変更すると、現在選択されているアイテムの詳細フラグメントではなく、リストが表示されます。したがって、詳細フラグメントのすべてのユーザー入力が失われます。これは面倒で、これを処理する方法がわかりません。すべてのアクティビティで、方向の変更をプログラムで気にする必要がありますか?
3 番目の問題:ランドスケープ モードでn 個の詳細を切り替えると、ポートレート モードに変更するとすぐに、バック ボタンをn回押して追加を閉じる必要があります。もう)。向きを変更する場合、バック スタックを自分でクリーニングする必要がありますか?