/ / Fragment - android、android-fragments、android-actionbar、android-toolbarの再開時にsetSupportActionBar()を使用してツールバーを設定する

Fragment - android、android-fragments、android-actionbar、android-toolbarを再開するときにsetSupportActionBar()を使用してツールバーを設定する

私のアプリでは私が持っている:

  • ActionBarActivity A
  • ツールバー1で断片1
  • フラグメント2とツールバー2

ActionBarActivity Aはフラグメント1を示します(これは、ActivityのsetSupportActionBar()メソッドを使用してtoolbar1をアクションバーとして設定します)。

ボタンを押すと、フラグメント2(FragmentTransationのadd()メソッドを使用)が表示され、Fragment2はツールバー2をsetSupportActionBar()を使用してアクションバーとして設定します。

バックを押すとバック​​スタックがポップされ、Fragment1が再び表示されます。ここでは、toolbar1を再びアクションバーとして設定します。

これを達成する最も簡単な方法は何ですか? (うまくいけば、どのフラグメントが表示されているかを理解したり、各フラグメントからツールバーを設定したりすることなく、

回答:

回答№1は0

つかいます onBackStackChangedListener

        getSupportFragmentManager().addOnBackStackChangedListener(new FragmentManager.OnBackStackChangedListener() {
@Override public void onBackStackChanged() {
//get the fragment.
if (fragment instanceof BaseFragment) {
//set action bar
setActionBar(((BaseFragment)fragment).getActionBar());
}

}
});