我从第一个片段调用第二个片段,并在调用第二个片段时用2个片段膨胀布局,第一个片段的布局也出现在第二个片段布局后面的屏幕上。我想在屏幕上只显示第二个布局。 这是代码
android.support.v4.app.FragmentManager fm = getFragmentManager();
facebookPictureShareFragment Picfragment = new facebookPictureShareFragment();
FragmentTransaction ft = fm.beginTransaction();
ft.add(((ViewGroup)getView().getParent()).getId(), Picfragment);
ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_CLOSE);
ft.commit();
答案 0 :(得分:0)
您需要将ft.add更改为ft.replace。
add()将片段添加到活动状态。
替换()
替换添加到容器的现有片段。这是 与当前所有人调用remove(Fragment)基本相同 添加了使用相同containerViewId添加的片段 add(int,Fragment,String)与此处给出的参数相同。
答案 1 :(得分:0)
尝试使用回调并将此代码插入到不在片段内的活动中,请查看此链接以获取更多详细信息:
如果您一次显示一个片段,Google建议为一个活动使用一个片段,并将该片段用作容器。使用EventCallbacks方法可以使活动非常简单,然后您可以更简单地添加或删除片段。