2016-05-29 15 views
3

フラグメンテーションAおよびフラグメントBです。 add(置き換えられない)フラグメントトランザクションを使用して、フラグメントAをアクティビティに追加しました。ボタンフラグAのボタンがそのアクティビティにコールバックを行い、addフラグメントトランザクションにフラグメントBを追加します。フラグメントがバックスタックからポップされたときに呼び出されるライフサイクルメソッド

私はFragmentAFragmentBに(フェッチオンラインである)変数の値を持つアクションバーのタイトルを更新します。私はにFragmentBだと私は(今私はFragmentAにいるよ)[戻る]ボタンを押すと、私は上記の概説フラグメント取引後

は、アクションバーのタイトルはまだFragmentBのものです。

だから、私はので、私はそこからアクションバーを更新することができますFragmentBから来ているときの方法がFragmentAに呼び出されるライフサイクルを知りたいと思いました。

+0

それぞれの 'Fragment'の' onCreateView'でタイトルの設定を行うべきです。だからあなたの 'FragmentA'では' ActionBar'のタイトルをあなたが望むものに設定し、 'FragmentB'の' onCreateView'メソッドで同じことをします。これがあなたが望む行動を与えるかどうか私に教えてください。 – ishmaelMakitla

+0

これは動作しません。 'onCreatView'は呼び出されません。ここをクリックhttp://stackoverflow.com/q/18634207/6215423 – Roseyk

+0

@Roseyk onViewCreatedメソッドで試してみて..... –

答えて

-1

onStart()の方法は明らかに適合した方法です。バックスタックから来るとき、常に呼び出されます。

0

backstackがポップされたときに呼び出されるメソッドがあるかどうかわかりませんが、フラグメントを含むActivityクラスのonBackPressedを上書きして、fragmentManager.popBackStackImmediateを呼び出すことができます。このメソッドはブール値を返します。真であれば、fragmentBからfragmentA(または他の以前のフラグメント)に行きました。あなたはあなたのアクティビティクラスに入っていますので、とにかくあなたはあなたのActionBarを更新できます。 さらに、fragmentManager.popBackStackImmediateがtrueの場合、super.onBackPressed()をコールしないでください!!!

関連する問題