私は単一のFragmentActivityを持つ単純なフラグメントベースのアプリケーションを開発しています。アプリケーションの各「スクリーン」はフラグメントに含まれ、すべてのフラグメントはアプリケーションの起動時にコンテナレイアウトに追加されます。Android - バックボタンとフラグメントのバックスタックが機能しない
遷移は、現在表示されているフラグメントを隠してから、適切なフラグメントを表示することによって達成されます。
ft = fragMan.beginTransaction();
ft.show(mapFragment);
ft.addToBackStack(null);
ft.commit();
このすべてはうまく動作しますが、戻るボタンが押されたときに、関係なく、アプリケーションの終了は、その画面が表示されているか、以前のどのトランザクションがバックスタックに追加されました。
私は、バックスタックがレコードを適切に蓄積していることを確認し、フラグメントを隠したり表示したりするのではなく、フラグメントを置き換えるなど、さまざまなバリエーションのバリエーションを試しました。私の知る限りでは、私のコードは私が見つけることができるすべてのチュートリアルと例と一致しています。同様の問題の例や類似の問題を見つけることさえできませんでした。おそらく、その他。
マニフェストのプロパティ(かなり徹底的に調査した)などのアプリケーションレベルや、アプリケーションが正しく設定されているため、バックボタンが正常に機能しないなどの問題が発生する可能性があります。 。 onBackPressedをオーバーライドしてトランジションを手動で処理できますが、これは非常に醜い回避策のようです。なぜこれが期待どおりに動いていないのかについてのアイデアはありますか?ところで、これはJelly Beanを実行しているNexus 7にあります。