当前位置: 首页 > 面试题库 >

Java用活动组内的另一个片段替换一个片段

梁季
2023-03-14
问题内容

我在小组活动中有一个片段,我想用另一个片段替换它:

FragmentTransaction ft = getActivity().getFragmentManager().beginTransaction();
SectionDescriptionFragment bdf = new SectionDescriptionFragment();
ft.replace(R.id.book_description_fragment, bdf);
ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
ft.addToBackStack(null);
ft.commit();

在不使用活动组的情况下作为单独的项目完成时,它工作正常,当控件进入getview()时,每件事在日志猫中都可以正常工作,但是没有视图可见,甚至没有任何异常出现,我希望将书详细信息片段由部分详细信息片段代替。

图书详细信息片段的XML具有id book_description_fragment,而部分描述片段的xml具有id section_description_fragment。

上面的代码位于项目的onClick方法中,我希望当用户在水平滚动视图中点击项目时,片段会发生变化。


问题答案:

用XML硬编码的片段无法替换。如果需要用另一个片段替换片段,则应该首先动态添加它们。

注意:R.id.fragment_container是你在将片段带入的活动中选择的布局或容器。

// Create new fragment and transaction
Fragment newFragment = new ExampleFragment();
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();

// Replace whatever is in the fragment_container view with this fragment,
// and add the transaction to the back stack if needed
transaction.replace(R.id.fragment_container, newFragment);
transaction.addToBackStack(null);

// Commit the transaction
transaction.commit();


 类似资料:
  • 我试图通过活动中按钮的onclick事件将一个主片段替换为另一个片段,但该片段恰好悬停在主片段上。 这是我的密码

  • 我有一个活动和两个片段。片断a和片断b。 我需要实现像,最初碎片应该在那里。在之后,单击FragmentB应该在那里。 我的第二段代码:

  • 我有两个活动,分别是家庭活动和沙拉菜单活动。主页活动包含七个片段,其中一个名为菜单类别的片段有四个图像,第一个图像下面的文本是沙拉菜单,当用户单击沙拉菜单时,将启动名为沙拉菜单活动的新活动。 我想,当用户点击后退按钮时,home活动必须开始,并且应该从启动salad菜单活动的相同片段开始,即home活动中的菜单类别片段。我希望每个活动都会发生这种情况,例如,如果用户从您的订单片段开始一个新的活动,

  • 我正在制作抽屉菜单,目前正在使用: getSupportFragmentManager()。开始交易()。替换(R.id.mainfragment,f1)。提交(); 但是正如你所看到的,它总是用新的片段替换主片段。谢谢!

  • 这是我完整的logcat: 在Android.support.v4.app.backStackRecord.doaddop(backStackRecord.java:414)在Android.support.v4.app.backStackRecord.replace(backStackRecord.java:449)在Android.support.v4.app.backStackRecord.

  • 在我的应用程序中,我使用了一个活动和两个片段。该应用程序使用带有容器的布局,因此片段是通过事务添加的。第一个片段包含列表视图,另一个片段包含列表视图项的详细视图。两个片段都使用setRetainInstance(true)。片段是通过替换事务添加的,并设置了addToBackStack(null)。列表片段包含一个实例变量,其中包含列表的一些信息。现在我正在切换到详细并按回,实例变量为null。我