当 Fragment 被替换并再次可见时回调

Nok*_*ner 5 android android-fragments

我一直在研究这个话题,但到目前为止没有运气。基本上,我正在使用FragmentTransaction.replace. 在另一个片段 (B) 中,我在工具栏中有一个“取消”按钮,按下该按钮会通过调用getActivity().getSupportFragmentManager().popBackStackImmediate().

问题是当我显示片段 A 和片段 B 时,我需要更新“活动”工具栏以显示不同的标题。我似乎无法找到在片段 A 中调用的方法,无论何时我从 A -> B - > A 通知我它再次可见。这个想法是在这个回调中设置我似乎找不到的工具栏标题。

任何人都可以指出我正确的方向吗?

干杯。

编辑:

我调用的用另一个片段替换片段的方法如下:

public static void replaceFragment(FragmentActivity parentActivity, int fragmentToReplaceId, Fragment withFragment, Integer enterAnim, Integer exitAnim)
{
    FragmentManager         fragmentManager;
    FragmentTransaction     transaction;

    fragmentManager = parentActivity.getSupportFragmentManager();
    transaction     = fragmentManager.beginTransaction();

    if (    (null != enterAnim) &&
            (null != exitAnim)  )
    {
        transaction.setCustomAnimations(enterAnim, exitAnim);
    }

    transaction.replace(fragmentToReplaceId, withFragment);
    transaction.addToBackStack(null);
    transaction.commit();
}
Run Code Online (Sandbox Code Playgroud)

geN*_*Nia 4

您可以通过重写片段中的 onResume() 方法并将消息发送到 Activity 或直接更改工具栏来通知。

@Override
public void onResume() {
    super.onResume();

    ((AppCompatActivity) getActivity()).getSupportActionBar().setTitle("Title");
}
Run Code Online (Sandbox Code Playgroud)