addToBackStack(null)の後にcommit()が続く意味は何ですか?
引用文書:
addToBackStack()を呼び出すと、置換トランザクションがバックスタックに保存されるため、ユーザーはトランザクションを元に戻し、[戻る]ボタンを押すことで前のフラグメントに戻すことができます。
トランザクションに複数の変更(別のadd()やremove()など)を追加してaddToBackStack()を呼び出すと、commit()を呼び出す前に適用されたすべての変更が単一のトランザクションと[戻る]ボタンとしてバックスタックに追加されます。それらを一緒に逆にします。
FragmentTransactionに変更を追加する順序は、以下を除いて重要ではありません。
電話する必要があります commit()
最後に。同じコンテナに複数のフラグメントを追加する場合は、フラグメントを追加する順序によって、ビュー階層に表示される順序が決まります。
だから、最後にコミットする必要があります。
addToBackStackにnullパラメータを渡す必要があるのはなぜですか?
nullである必要はなく、文字列でもかまいません。必要ない場合は、nullを渡してください。
パブリック抽象FragmentTransaction addToBackStack(文字列名)
APIレベル11で追加このトランザクションをバックスタックに追加します。これは、トランザクションがコミットされた後に記憶され、後でスタックからポップされたときにその操作を元に戻すことを意味します。
パラメータnameこのバックスタック状態のオプションの名前、またはnull。
について:
最後の行.addToBackStack(null).commit()なしでコードを実行し、問題なく実行されたので、このコードは役に立たないようです
前のフラグメントに移動する場合は、バックスタックに追加します。したがって、フラグメントをバックスタックに追加するかどうかによって異なります。
このように追加された後にそのフラグメントを取得するにはどうすればよいですか?
あなたはすでにフラグメントインスタンスを持っています firstFragment
。後でフラグメントを取得することで何を意味するのかわかりません。
詳しくは @
http://developer.android.com/guide/components/fragments.html
http://developer.android.com/reference/android/app/FragmentTransaction.html#addToBackStack(java.lang.String)