为啥fragment在findFragmentById之后还是null

我很疑惑为啥在我的fragment在findFragmentById之后fragment还会是null,下面的if语句里的内容居然被执行了,哪位大神能告诉我其中的奥秘图片说明

这是为了防止空指针异常吧,会进行判断

    // 使用事务步骤:1开始事务
    FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
    // 2添加动作:add
    fragmentTransaction.add(R.id.fragment_container, firstFragment);
    // 3显示动作:show
    fragmentTransaction.show(firstFragment);
    // 4提交事务
    fragmentTransaction.commit();
    希望有用

fragment事务被用来添加、移除、分离或替换fragment队列中的fragment。FragmentManager管理者fragment事务的回退栈。
FragmentManager.beginTransaction().add().commit表示“创建一个新的fragment事务,加入一个添加操作,然后提交该事物。”add(...)方法是整个事务的核心部分,并含有两个参数,即容器视图资源ID和新创建的fragment。如需从FragmentManager中获取fragment,即可使用容器视图资源ID。

ragmentManager使用FrameLayout组件的资源ID去识别fragment,,使用R.id.fragmentContainer 的容器视图资源ID , 向FragmentManager 请求获取
fragment。如要获取的fragment在队列中已经存在,FragmentManager随即会将之返还。