使用 add() 方法添加新片段时,我遇到了“意外行为”。
我想在 FrameLayout 上添加一个新片段,但是当我这样做时,前一个片段仍然可见。
这是使用 add() 方法时的预期结果吗?
这是因为我使用的是 FrameLayout 和 add() 方法只是在 FrameLayout 上放置一个片段而不影响前一个?
谢谢
使用 add() 方法添加新片段时,我遇到了“意外行为”。
我想在 FrameLayout 上添加一个新片段,但是当我这样做时,前一个片段仍然可见。
这是使用 add() 方法时的预期结果吗?
这是因为我使用的是 FrameLayout 和 add() 方法只是在 FrameLayout 上放置一个片段而不影响前一个?
谢谢
不是错误。尝试替换(..)。如果需要,改为添加到后堆栈。
编辑我认为使用replace
orremove() add()
将解决您的问题,但是正如您在相关帖子中强调的那样,有一个错误会在您的特定情况下表现出来。
您可以做的其他简单的事情是打电话
FragmentTransaction t = getFragmentManager.beginTransaction();
t.hide(<your_fragment>);
t.add(<container, <new_fragment>);
..do the rest here..
t.commit();
让我知道这是否有帮助。