将片段替换为活动组中的另一个片段

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (74)

我在一个团体活动中有一个片段,我想用另一个片段来替换它:

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();

它在不使用活动组的情况下作为单独的项目工作很好,在logcat中,当控件进入getview()中时,每件事情都工作得很好,但是没有可见的视图,甚至不会出现任何异常,我希望将图书详细片段替换为节细节片段。

提问于
用户回答回答于
用户回答回答于

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

// Create new fragment and transaction
Fragment newFragment = new ExampleFragment();
FragmentTransaction transaction = getFragmentManager().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();

所属标签

可能回答问题的人

  • EatRice

    16 粉丝0 提问6 回答
  • 华讯云

    0 粉丝0 提问5 回答
  • 学生

    8 粉丝476 提问4 回答
  • 富有想象力的人

    5 粉丝0 提问3 回答

扫码关注云+社区

领取腾讯云代金券