0

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

2 回答 2

0

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

Android 片段回调

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

于 2013-05-30T18:46:17.553 回答
0

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

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

代替()

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

于 2013-05-30T09:54:56.583 回答