我正在使用具有垂直方向的 LinearLayout 来列出片段。我以编程方式将片段添加到容器中,如下所示:
FragmentTransaction ft = fragmentManager.beginTransaction();
Fragment fragment1 = new Fragment();
ft.add(R.id.llContainer, fragment1);
Fragment fragment2 = new Fragment();
ft.add(R.id.llContainer, fragment2);
ft.commit();
但它只显示第一个片段。为什么?
您可以在一个中包含多个片段LinearLayout
.
根据文档,
如果您将多个片段添加到同一个容器中,那么添加它们的顺序将决定它们在视图层次结构中的显示顺序
您的代码的问题在于,因为您没有指定片段标签,所以它默认为容器 ID。由于两个事务的容器 ID 相同,因此第二个事务替换了第一个片段,而不是将其单独添加到容器中。
要执行您想要的操作,请使用类似以下内容的内容:
FragmentTransaction ft = fragmentManager.beginTransaction();
Fragment fragment1 = new Fragment();
ft.add(R.id.llContainer, fragment1, "fragment_one");
Fragment fragment2 = new Fragment();
ft.add(R.id.llContainer, fragment2, "fragment_two");
ft.commit();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)