如何更新片段列表中的旧片段?

How to update the old fragment in the Fragment list?

我需要更新片段列表中的旧片段,所以我需要清除所有旧样式。

 getSupportFragmentManager().beginTransaction().add() 

方法可以将片段添加到列表中,但是如何一次性清除所有片段?

添加

 android.support.v4.app.Fragment fragment = getSupportFragmentManager()
       .findFragmentByTag(tag);

    if (fragment == null) {
        Log.d("Main",tag+"fragment == null");

        fragment = new FragmentFactory().getFragment(tag);

        getSupportFragmentManager().beginTransaction().hide(currentFragment)
       .add(R.id.content_frame, fragment, tag).commit();
        currentFragment = fragment;
    } else if (fragment.isHidden()) {
        Log.d("Main",tag+"fragment.isHidden()");  
        getSupportFragmentManager().beginTransaction()
       .hide(currentFragment).show(fragment).commit();
        currentFragment = fragment;
    }

作为答案

fragmentManager.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);

它仍然存在错误,当第二轮 if 语句进入 else 时。但是作为目的fragment应该清除。 if 语句需要去 if 分支和 add 新片段。 如何解决?

试试这个:

fragmentManager.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);