No se pueden agregar los fragments usando la function de Extensión de Kotlin

Tengo una function de extensión de Kotlin para agregar un fragment que está en otro file de Kotlin

fun Fragment.addFragment(tag: String?, id: Int, fragmentManager: FragmentManager) { // will take care of adding the fragment. val fragmentTransaction = fragmentManager.beginTransaction() fragmentTransaction.add(id, this, tag) fragmentTransaction.addToBackStack(tag) fragmentTransaction.commit() } 

Pero cada vez que uso esa function de extensión para agregar un fragment, obtengo este locking

 java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.v4.app.Fragment.setNextAnim(int)' on a null object reference 

Estoy usando esa function de extensión de esta manera:

 MyFragment().addFragment("MyFragment", R.id.frame, fragmentMaganer) 

Después de la statement anterior si traté de depurar mi código, entonces se ejecuta con éxito hasta

 fragmentTransaction.commit() 

pero después de eso en el método onStart () de mi actividad me enfrento con el problema de NullPointerException

Pero si utilizo el mismo código directamente en una actividad como esta:

 val myFragment = MyFragment() val fragmentTransaction = fragmentManager.beginTransaction() fragmentTransaction.add(R.id.frame, myFragment, tag) fragmentTransaction.addToBackStack(tag) fragmentTransaction.commit() 

entonces está funcionando bien. ¿Puede alguien explicar por qué no funciona con la function de extensión ?

Según mi conocimiento,

fragmentManager . beginTransaction () ;

Inicie una serie de operaciones de edición en los Fragmentos asociados con este FragmentManager.

Por lo tanto, debe realizar esta tarea antes de agregar cualquier fragment.

Para realizar una transacción, como agregar o eliminar un fragment, debe usar un FragmentManager para crear un FragmentTransaction , que proporciona API para agregar, eliminar, replace y realizar otras transactions de fragments.