片段再次可见时设置标题



我有FragmentA和FragmentB,当FragmentA重新可见时,设置"活动"的标题有问题。

流量

  1. FragmentA可见(未添加到后台)
  2. 添加碎片B(添加到后台)
  3. 按下back按钮,不是默认实现,但需要在Fragment中捕获它,但我执行getActivity().getSupportFragmentManager().popBackStack();

现在,当FragmentA重新可见时,必须再次更改"活动"的标题比如,FragmentA title="A",FragmentB title="B"。但是当FragmentA重新可见时,标题仍然是"B",因为在FragmentA中没有调用onResume。我有哪些选项可以在FragmentA中始终将标题设置为"A",这是可见的。

代码:

FragmentA

@Override
public void onResume() {
        super.onResume();
        getActivity().setTitle("POI's");       
}

碎片B

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                Bundle savedInstanceState) {
        ...
        getActivity().setTitle("POI");
        ...
}

我用两个片段测试了一个"活动",效果很好。请参阅以下代码。

片段A:显示应用程序名称

@Override
public void onResume() {
    super.onResume();
    getActivity().setTitle(R.string.app_name);
}

片段B:显示应用程序名称

@Override
public void onResume() {
    super.onResume();
    getActivity().setTitle("fragment B");
}

片段A到B交易代码:

getActivity().getSupportFragmentManager().beginTransaction()
            .replace(R.id.container,new FragmentB())
            .addToBackStack(null)
            .commit();

更新:需要替换像"replace(R.id.container,new FragmentB())"这样的片段,而不是将其添加到FragmentManager中以更改活动的标题。

尝试执行此

getActivity().getActionBar().setDisplayShowTitleEnabled(true);
getActivity().getActionBar().setTitle("your title");

最新更新