在片段内调用片段

时间:2013-05-30 09:36:32

标签: android android-fragments

我从第一个片段调用第二个片段,并在调用第二个片段时用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(); 

2 个答案:

答案 0 :(得分:0)

您需要将ft.add更改为ft.replace。

  

add()将片段添加到活动状态。

替换()

  

替换添加到容器的现有片段。这是   与当前所有人调用remove(Fragment)基本相同   添加了使用相同containerViewId添加的片段   add(int,Fragment,String)与此处给出的参数相同。

答案 1 :(得分:0)

尝试使用回调并将此代码插入到不在片段内的活动中,请查看此链接以获取更多详细信息:

Android Fragments Callback

如果您一次显示一个片段,Google建议为一个活动使用一个片段,并将该片段用作容器。使用EventCallbacks方法可以使活动非常简单,然后您可以更简单地添加或删除片段。