从片段 2 回到片段 1 但标题仍然来自片段 2

back from fragment 2 to fragment 1 but title still that from fragment 2

每个人都有问题,不知道如何解决;

问题是我有包含工具栏的 mainActivity 是 xml 在 onCreate() 中,我使用此代码添加片段 1

 @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

        try {
            // put the fragment to the Main Activity
            mainFragment = (MainFragment) getSupportFragmentManager().findFragmentById(R.id.fragment_container);
            if (mainFragment == null) {
                mainFragment = MainFragment.newInstance();
                getSupportFragmentManager()
                        .beginTransaction()
                        .add(R.id.fragment_container, mainFragment)
                        .commit();
            }
        } catch (Exception e) {
            goToMainFragment();
            //   Log.v("goToMainFragment()", "goToMainFragment()");
        }
    }

然后我有按钮,例如或从抽屉中单击它时使用此代码转到片段 2

public void editTimeSheet() {
    AddTimeSheetFragment timeSheetFragment = new AddTimeSheetFragment();
    Bundle bundle = new Bundle();
    bundle.putInt("action", 2);
    bundle.putSerializable("timeSheet", timeSheet);
    timeSheetFragment.setArguments(bundle);

   getSupportFragmentManager().beginTransaction().add(R.id.fragment_container, timeSheetFragment).addToBackStack("stack").commit();

}

当然,在每个片段中,我都会使用以下方法更改工具栏标题 getActivity().setTitle("some title");

但问题是当我重新使用 onBackPressed 时,标题没有改变,仍然是从片段 2 设置的标题,我知道为什么,因为我更改了 activity 的工具栏标题,当我回到片段时1 onCreateView 未调用,因此标题未更改,我尝试调用片段 lifeCycle 方法,以便在后退按钮中调用任何方法,我将从中更改工具栏标题,但返回时似乎没有方法调用

如果问题不够清楚,我很抱歉,但我最好写出来并描述问题,谢谢你的时间

好的,没有人回答我,经过长时间的研究,我发现了这个并且它有效

@Override
    public void onHiddenChanged(boolean hidden) {
        super.onHiddenChanged(hidden);
        if (hidden) {
//            Toast.makeText(getContext(), "hide fragment", Toast.LENGTH_SHORT).show();
        } else {
//            Toast.makeText(getContext(), "show fragment", Toast.LENGTH_SHORT).show();
            setToolbarTitle();
        }
    }

回到片段 1 后调用此方法,隐藏值 = false