管理标题与片段堆栈已更改

时间:2015-04-29 10:52:18

标签: android fragment

我正在使用片段活动和一些片段来添加并在背面加载。

假设我正在从片段A添加片段B.我在A中设置的操作栏的标题通过导航到B来改变;但是当我从片段堆栈中弹出片段B时,它不会恢复到A,因为片段的onResume没有被调用。

我正在使用代码:

FragmentManager fragmentManager = getSupportFragmentManager();
fragmentManager.beginTransaction().add(R.id.container, fragmentToReplace, tag).addToBackStack(tag).commit();

并弹出最后一个片段:

fragmentManager.popBackStack();

如何管理这个。请建议。

1 个答案:

答案 0 :(得分:0)

您可以使用onBackStackChanged侦听器,只要弹出片段就会调用该侦听器。要添加侦听器,请使用以下命令:

 getFragmentManager().addOnBackStackChangedListener(this);

在“覆盖”功能中,检查弹出的片段,根据它可以更改操作栏标题:

  @Override
public void onBackStackChanged() {
  //Check the fragment from the FrameLayout Container R.id.container
  // Depending on the Fragment you can change the Title
  setTitle("xyz");    
   }