Fragment間のジャンプ、リターン

3853 ワード

FragmentはActivityのセグメントであり、ライフサイクルのあるViewと理解できる.そのライフサイクルも、それが受け取るActivityと密接に関連しています.ActivityにFragmentを追加するには、次のようにFragmentTransactionのaddメソッドまたはreplaceメソッドを呼び出す必要があります.
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    getSupportFragmentManager().beginTransaction().replace(R.id.content,new FirstFragment()).commit();

}

R.id.contentは、ActivityレイアウトにおけるFragmentの位置のidである.
xml version="1.0" encoding="utf-8"?>
xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/content"
    >



すでに追加されているFirstFragmentでは、別のFragmentにジャンプするためにreplaceメソッドを使用することもできます.
FragmentTransaction fragmentTransaction = getActivity().getSupportFragmentManager().beginTransaction();
fragmentTransaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN).replace(R.id.content,new SecondFragment());
fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();

上のコードはSecondFragmentにジャンプしたことを示していますが、SecondFragmentではどのようにFirstFragmentに戻りますか?次のコードを呼び出すだけです.
getActivity().getSupportFragmentManager().popBackStack();

これで前のFragmentに戻りました.