Android:FragmentManagerとFragmentTransaction

1567 ワード

FragmentManager:Fragmentを管理するためにActivityのgetFragmentManager()を使用してインスタンスを取得します.
FragmentManagerでは、次のことができます.
1.findFragmentByyId()(activity layoutでUIを提供するためのfragment)またはfindFragmentByTag()(UIがあるかないかのfragmentに適用)を使用してactivityに存在するfragmentを取得する
2、fragmentをバックグラウンドスタックからポップアップし、popBackStack()を使用する
3.addOnBackStackChangeListener()を使用してバックグラウンドスタックの変化を監視するlistenerを登録する.
FragmentTransaction:Fragmentの追加、置換、削除などの操作を行います.
add()、replace()、remove()を使用すると、各Fragmentに動的にラベルを追加できます.次回は、FragmentManagerがtagラベルで検索できるようにします.最後にft.commit()を覚えています.fragmentを削除するトランザクションを実行する場合、addToBackStack()が呼び出されないと、トランザクションがコミットされると、そのfragmentは破棄され、ユーザはそれに戻ることができない.これにより、fragmentが削除されたときにaddToBackStack()が呼び出された場合、fragmentは停止され、ユーザーがナビゲートして戻ってきたら復元されます.//////重要だと思いますが、以上のように、remove後、スタック後に加算することは理解できます.戻るか、それとも前のfragmentに戻るかを押します.
FragmentManager myFragmentManager;
FragmentTransaction myFragmentTransaction = myFragmentManager.beginTransaction();
Fragment myFragment = new Fragment ();
myFragmentTransaction.replace(R.id.newFrameLayout, newFragment);
myFragmentTransaction.commit();

fragmentの表示と非表示はFragmentTransactionのshowまたはhideで実現でき、ft.show(fragment);ft.hide(fragment);