[解決済み] nullパラメータを持つaddToBackStackの意味は何ですか?
質問
顧客コードがあります。すべてのフラグメントに対してアクティビティは1つしかありません。つまり、1つのアクティビティがすべてのフラグメントを管理しています。
このアクティビティには、任意のフラグメントのメソッド末尾に、そのフラグメントに対する以下のコードが含まれています。
例えば - フラグメント MoreFragment:
MoreFragment firstFragment = new MoreFragment();
getSupportFragmentManager().beginTransaction()
.replace(R.id.article_fragment, firstFragment)
.addToBackStack(null).commit();
だから
1)
addToBackStack(null)
の後に
commit()
?
2) nullパラメータを
addToBackStack
?
3) このように追加されたフラグメントはどのように取得するのですか?
私は最後の行なしでコードを実行したので、このコードは役に立たないように思えます
.addToBackStack(null).commit()
を削除して実行したところ、問題なく実行されました。
どのように解決するのですか?
<ブロッククオートaddToBackStack(null)の後にcommit()を実行する意味は何ですか?
docsを引用しています。
<ブロッククオートaddToBackStack() を呼び出すと、置換されたトランザクションはバックスタックに保存されます。 バックスタックに保存されるため、ユーザーはトランザクションを逆戻りして 前のフラグメントを戻すことができます。
トランザクションに複数の変更 (別の add() や remove() など) を追加し、addToBackStack() を呼び出した場合。 や remove() など) を追加して addToBackStack() を呼び出すと、commit() を呼び出す前に適用されたすべての変更がバックスタックに追加されます。 を呼び出す前に適用されたすべての変更が 1 つのトランザクションとしてバックスタックに追加されます。 トランザクションとしてバックスタックに追加され、バックボタンはそれらをすべて逆にします。
FragmentTransactionに変更を追加する順序は、以外と重要ではありません。
を呼び出す必要があります。
commit()
を最後に追加します。複数のフラグメントを同じコンテナに追加する場合、追加した順番でビュー階層に表示される順番が決まります。
ですから、最後にコミットする必要があります。
なぜaddToBackStackにnullパラメータを渡す必要があるのでしょうか?
nullである必要はなく、文字列でも構いません。必要なければ、NULLを渡せばいいだけです。
public abstract FragmentTransaction addToBackStack (String name)
APIレベル11で追加 このトランザクションをバックスタックに追加します。これは、トランザクションがコミットされた後に記憶され、後でスタックからポップオフされたときにその操作を逆転させることを意味します。
パラメータ name このバックスタック状態のオプションの名前、またはNULL。
に関することです。
<ブロッククオートこのコードは役に立たないようです。 .addToBackStack(null).commit() を実行したところ、何の問題もなく実行されました。
前のフラグメントに移動したい場合は、それをbackstackに追加します。つまり、フラグメントをbackstackに追加するかどうかによります。
このように追加されたフラグメントを取得するにはどうしたらよいでしょうか?
すでにフラグメントのインスタンス
firstFragment
. だから、フラグメントを後で取得する意味がわからない。
もっと詳しく@。
http://developer.android.com/guide/components/fragments.html
関連
-
[解決済み] Androidのgravityとlayout_gravityの違いは何ですか?
-
[解決済み] match_parentとfill_parentの違いは何ですか?
-
[解決済み] ViewPagerとフラグメント - フラグメントの状態を保存する正しい方法は何ですか?
-
[解決済み】「px」、「dip」、「dp」、「sp」の違いは?
-
[解決済み】フラグメント内のXML onClickを使用して、ボタンのクリックを処理する方法
-
[解決済み】Fragmentが自分自身を削除する、つまりfinish()に相当するものを取得するにはどうすればよいですか?)
-
[解決済み] 異なるフラグメント/レイアウトを持つViewPagerを実装する方法
-
[解決済み] Eclipseでのandroid:configChangesでのAdmobエラー
-
[解決済み] Android - タイトルバーに戻るボタンが表示される
-
[解決済み] EclipseのAndroidプロジェクトにライブラリ/JARを追加する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】プログラムで作成されたコンテンツビューを持つアクティビティにFragmentを追加する方法
-
[解決済み] SDカードからファイルを削除する方法を教えてください。
-
[解決済み] BottomSheetDialogFragmentの状態をexpandedに設定する。
-
[解決済み] CardView layout_width="match_parent "が親のRecyclerViewの幅と一致しない。
-
[解決済み] FloatingActionButtonのサンプルとサポートライブラリ
-
[解決済み] EditTextをReadOnlyにする
-
[解決済み] Androidの環境設定。ユーザーが環境設定画面を使用していない場合、デフォルト値を読み込むにはどうすればよいですか?
-
[解決済み] アンドロイドボタンセレクター
-
[解決済み] Google Play ストア内部テストのロールアウトが開始できない
-
[解決済み] 文字列リソースにHTML?