【问题标题】:replace to new fragment with FragmentManager用 FragmentManager 替换为新片段
【发布时间】:2018-02-14 11:07:12
【问题描述】:

我有一个FragmentManager 的实例(变量frgManager),我将其替换为新片段:

 // Fragments all use the same container
 frgManager.beginTransaction().replace(containerId, nextFragment, MyTag).commit();

假设我有三个片段A, B, C

应用程序以A-->B-->C 的顺序显示片段。每次显示下一个片段时,我都会调用上面的代码。

问题是C显示后,我关闭C,然后B显示在前台,但是AonResume()也被调用了。 为什么?如何避免这种情况,因为我希望在这种情况下只调用 BonResume()

【问题讨论】:

    标签: android android-fragments fragmentmanager


    【解决方案1】:

    frgManager.beginTransaction().replace(containerId, nextFragment, MyTag).addToBackStack().commit();

    在创建所有片段时使用addToBackStack。这样,一次只能激活 1 个。

    【讨论】:

      猜你喜欢
      • 2013-12-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-15
      相关资源
      最近更新 更多