我使用片段如下:
img_home.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
ft = fragmentManager.beginTransaction();
ft.replace(R.id.freamlayout,fragment_home);
ft.remove(fragment_setting);
ft.commit();
}
});
img_setting.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
ft = fragmentManager.beginTransaction();
ft.remove(fragment_home);
ft.replace(R.id.freamlayout,fragment_setting);
ft.addToBackStack(null);
ft.commit();
}
});
但是当转换到片段2时,保留片段1 如何解决?
IMG1:
IMG2:
答案 0 :(得分:0)
答案 1 :(得分:0)
我在documentation中可以看到fragmentTransaction.replace()
替换添加到容器的现有片段。这是 与当前所有人调用remove(Fragment)基本相同 添加了使用相同containerViewId添加的片段 add(int,Fragment,String)与此处给出的参数相同。
检查
最简单的方法
如果没有任何作用,请将背景放在两个片段布局的父节点上。所以旧的片段不会出现在这背后。