7

使用 add() 方法添加新片段时,我遇到了“意外行为”。

我想在 FrameLayout 上添加一个新片段,但是当我这样做时,前一个片段仍然可见。

  • 这是使用 add() 方法时的预期结果吗?

  • 这是因为我使用的是 FrameLayout 和 add() 方法只是在 FrameLayout 上放置一个片段而不影响前一个?

谢谢

4

2 回答 2

8

不是错误。尝试替换(..)。如果需要,改为添加到后堆栈。

编辑我认为使用replaceorremove() add()将解决您的问题,但是正如您在相关帖子中强调的那样,有一个错误会在您的特定情况下表现出来。

于 2011-06-04T17:02:02.213 回答
6

您可以做的其他简单的事情是打电话

FragmentTransaction t = getFragmentManager.beginTransaction();
t.hide(<your_fragment>);
t.add(<container, <new_fragment>);
..do the rest here..
t.commit();

让我知道这是否有帮助。

于 2011-09-02T16:56:00.697 回答