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.

  • registerReceiver () muestra error por método sobrecargado
  • La diferencia entre !! y? en Kotlin
  • La interoperabilidad Varargs Kotlin Java no funciona correctamente
  • La class Kotlin no obtiene su valor boolean de firebase
  • Android Kotlin Extension super calling
  • No se pudo encontrar la class 'kotlin.jvm.internal.DefaultConstructorMarker'
  • Problemas al intentar generar la aplicación Kotlin con Android Studio
  • Convierta un ArrayMap en ArrayList - Kotlin
  • Kotlin sintético en adaptador o ViewHolder
  • En Kotlin Lenguaje de progtwigción importancia de varargs en términos de usos
  • Obteniendo exception de retrofit El tipo de retorno de método no debe include una variable de tipo o comodín en kotlin