我有一个包含FrameLayout的FragmentActivity。我使用以下代码将片段添加到片段活动。
FragmentManager fm = getSupportFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
ft.add(R.id.fragment_content, fragment, fargmentTag);
ft.addToBackStack(null);
ft.commit();
现在R.id.fragment_content是FrameLayout。这会在视图上添加一个片段。但潜在的观点仍然可见。意味着通过新片段看到一个平躺的视图?我究竟做错了什么。
亲切的问候
答案 0 :(得分:1)
ft.remove()
旧片段,或使用ft.replace()
代替ft.add()
。
答案 1 :(得分:1)
对于下一个片段,使用前一个片段的ft.replace();
将被替换。
答案 2 :(得分:1)
ft.replace()应该可以正常工作,否则你必须更新你的问题才能更好地理解。
答案 3 :(得分:0)
使用ft.replace将用此片段替换任何以前添加的片段,但如果活动的某些视图添加到其布局而不是片段,则通过添加或替换添加的片段将在其上显示其内容而不是替换它因为它不是片段。 或者在主布局中添加另一个布局并为其分配一些id,然后将片段添加到该容器中。 希望它有所帮助。