无法删除片段

时间:2018-10-02 08:39:46

标签: java android

     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;
            }

与此同时-片段保留在窗口中。我无法完全删除他

第一次单击后-片段出现在窗口中 第二次单击后(片段已经存在!)-没有任何反应。 为什么?

2 个答案:

答案 0 :(得分:1)

正在检查片段是否存在:

if (fragment != null)

此后,您将创建一个新的Fragment fragment = Fragment1.newInstance(serial,""); 并删除它

如果您仍需要帮助,请发布更多代码。

答案 1 :(得分:0)

您要从片段中添加一个新实例,然后尝试删除另一个未添加到片段管理器中的实例,将要添加到片段管理器中的片段对象保持全局,并在需要时删除该对象