当片段被替换并且再次可见时进行回调

当片段被替换并且再次可见时进行回调,第1张

概述我一直在研究这个主题,但到目前为止还没有运气.基本上,我是使用FragmentTransaction.replace将一个片段(A)替换为另一个(B).在另一个片段(B)中,我在工具栏中有一个“取消”按钮,当按下该按钮时,它会通过调用getActivity().getSupportFragmentManager().popBackStackImmediate()跳回

我一直在研究这个主题,但到目前为止还没有运气.基本上,我是使用FragmentTransaction.replace将一个片段(A)替换为另一个(B).在另一个片段(B)中,我在工具栏中有一个“取消”按钮,当按下该按钮时,它会通过调用getActivity().getSupportFragmentManager().popBackStackImmediate()跳回到上一个事务(A).

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

谁能指出我正确的方向?

干杯.

编辑:

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

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();}

解决方法:

您可以通过覆盖片段中的onResume()方法并将消息发送给活动或直接更改工具栏来进行通知.

@OverrIDepublic voID onResume() {    super.onResume();    ((AppCompatActivity) getActivity()).getSupportActionbar().setTitle("Title");}
总结

以上是内存溢出为你收集整理的当片段被替换并且再次可见时进行回调全部内容,希望文章能够帮你解决当片段被替换并且再次可见时进行回调所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1120597.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-29
下一篇2022-05-29

发表评论

登录后才能评论

评论列表(0条)

    保存