如何将标签添加到Fragment Transaction?

时间:2015-08-31 06:33:22

标签: android android-fragments fragment-backstack

我正在向我的Fragment添加Activity,如下所示:

getSupportFragmentManager()
            .beginTransaction()              
            .add(R.id.frame_container, fragment)
            .setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN)
            .addToBackStack(fragment.getClass().getName())
            .commit();

但是当我想使用Fragment找到FragmentManager时,它会返回null:

 Fragment oldFragment = (Fragment) getSupportFragmentManager().findFragmentByTag(fragment.getClass().getName());

1 个答案:

答案 0 :(得分:4)

您尝试按标记找到它,但您没有给它任何标记

如果你想给它一个标签,就像这样做

getSupportFragmentManager()
        .beginTransaction()              
        .add(R.id.frame_container, fragment, "tagABC")
        .setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN)
        .addToBackStack(fragment.getClass().getName())
        .commit();

然后你可以用

获得它
Fragment oldFragment = (Fragment) getSupportFragmentManager().findFragmentByTag("tagABC");
顺便说一下,你应该更正你的问题标题,问题与后台堆栈无关。