switch (v.getId()) {
case R.id.array:
if (fragment != null) {
Fragment fragment = Fragment1.newInstance(serial,"");
getSupportFragmentManager().beginTransaction().remove(fragment)
.commit();
break;
}
else {
Fragment fragment = Fragment1.newInstance(serial,"key2");
getSupportFragmentManager().beginTransaction().add(R.id.arrayFrame, fragment)
.commit();
break;
}
而这个 - 片段留在窗口上。我无法完全删除他
首次单击后 - 片段出现在窗口中 第二次点击后(片段已经存在! - 什么也没发生。 为什么?
您正在检查片段是否存在:
if (fragment != null)
之后,您创建一个新的Fragment fragment = Fragment1.newInstance(serial,"");
并删除它
如果仍需要帮助,请发布更多代码。
您正在从片段中添加一个新实例并尝试删除另一个未添加到片段管理器的实例,将要添加到片段管理器的片段对象保留为全局,并在需要时删除此对象