如何为片段交易添加标签?

How to add tag to Fragment Transaction?

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

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

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

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

你试图通过标签找到它,但你没有给它任何标签

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

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");

顺便说一句,你应该更正你的问题标题,这个问题与backstack无关。