我正在向我的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());
答案 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");
顺便说一下,你应该更正你的问题标题,问题与后台堆栈无关。