在恢复片段时使用setSupportActionBar()设置工具栏

时间:2014-11-24 23:00:23

标签: android android-fragments android-actionbar android-toolbar

在我的应用中,我有:

  • ActionBarActivity A
  • Fragment1 with Toolbar1
  • Fragment2 with Toolbar2

ActionBarActivity A显示片段1(使用Activity的setSupportActionBar()方法将toolbar1设置为操作栏)。

按下按钮,显示片段2(使用FragmentTransation' add()方法),现在Fragment2使用setSupportActionBar()将toolbar2设置为操作栏。

按下后面会弹出后挡板再次显示Fragment1。在这里,我希望toolbar1再次设置为操作栏。

实现这一目标的最简单方法是什么? (希望不试图了解显示哪个片段并从每个片段设置工具栏)

1 个答案:

答案 0 :(得分: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());
            }

        }
    });