3

MainActivity で 2 つのフラグメントを管理しています。

それらの 1 つは、項目のリストを表示するための ListFragment のサブクラスです。

主なアイデアは、ユーザーが項目の 1 つをタップすると別のリスト ビューに移動し、戻るボタンをタップすると前のリスト ビューに戻ることができるようにすることです。

新しいリストに送信するためのコードは次のとおりです。

FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
NewFragment newFragment = new NewFragment();
newFragment.setArguments(getIntent().getExtras());
transaction.replace(R.id.fragment_layout, newFragment);
transaction.addToBackStack(null);
transaction.commit();

ただし、前のビューに戻る以外は、アプリケーションを終了するだけです。私は何を間違っていますか?

4

2 に答える 2

0

アクティビティとは異なり、フラグメントでは、「バック スタック」に明示的に追加する必要があります。基本的に、プレビュー フラグメントに戻りたいような新しいフラグメントをアプリが表示する場合は、 を呼び出しますFragmentTrasaction.addToBackStack()

フレームワークは、ユーザーが押し戻すと、フラグメントをバック スタックからポップする処理を行います。もっと複雑なものが必要な場合は、フラグメントの戻るボタンの押下をオーバーライドできます。この質問はそれをカバーし、

Android Fragment ハンドルの戻るボタンを押す

于 2013-01-22T20:01:04.497 に答える
-2

戻るボタンは上部のアクティビティを閉じ、フラグメント履歴に戻ることはありません。popBackStack()を使用して自分で行う必要があります

于 2013-01-22T19:59:32.813 に答える