我正在使用此代码:
FragmentManager FManager = getFragmentManager();
FragmentTransaction FTransaction = FManager.beginTransaction();
FTransaction.setTransitionStyle(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
fragment.setArguments(fragment.getArguments());
FTransaction.add(ResourceId, fragment, label);
FTransaction.addToBackStack(backStack);
FTransaction.commit();
我正在接受我的活动:
http://i.stack.imgur.com/K9NKy.png
有人可以帮助我吗?
答案 0 :(得分:0)
您要求片段管理器添加另一个片段,它正在这样做。你永远不会告诉它对原始片段做任何事情。如果你想删除exisitng片段并显示一个新片段,那么你应该调用:
FTransaction.replace(...)
而不是调用add。
如果通过xml布局文件添加了原始片段,则更难更换。处理这种情况有多个SO问题。
答案 1 :(得分:0)
我希望我简单的回答能帮到你。目前,您正在主片段上加载另一个片段。你需要"隐藏"或"删除"或"替换"与旧的。正如我在下面提到的那样
如果删除或隐藏
Fragment fr2 = fragmentManger.findFragmentByTag(Constants.TAG_Detail_Page);
if (fr2 != null)
fragmentTransaction.remove(fr2);
对于"替换",您将新的片段分配给contentView:
FTransaction .replace(R.id.fragment_container, newFragment);