OnCreateView () en Fragment no se llama inmediatamente, incluso después de FragmentManager.executePendingTransactions ()

He leído que si tenemos que crear fragmento de inmediato, tenemos que llamar a método executePendingTransactions() en FragmentManager . Bueno, eso es lo que estoy tratando de hacer. Me gusta esto:

 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_game); FragmentManager fragmentManager = getFragmentManager(); FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); fragmentTransaction.add(R.layout.fragmentContainer, new MyFragment); fragmentTransaction.commit(); fragmentManager.executePendingTransactions(); foo(); // It is called before MyFragment's onCreateView() } 

Me gustaría saber por qué el método foo() se llama ANTES de MyFragment 's onCreateView() . Como ves, estoy llamando a executePendingTransactions() en UI Thread como debería ser. No estoy jugando con hilos.

Me encontré con el mismo problema y descubrí que si ejecutaba el mismo código de fragmentTransaction dentro del método onStart, la ejecución funcionaba como se esperaba. No sé lo suficiente acerca del ciclo de vida de la vista de Android para saber por qué este es el caso.

 public void onStart() { FragmentManager fragmentManager = getFragmentManager(); FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); fragmentTransaction.add(R.layout.fragmentContainer, new MyFragment); fragmentTransaction.commit(); fragmentManager.executePendingTransactions(); foo(); // Should now work correctly } 
  • Java / Eclipse - No más archivo R nunca
  • ¿Por qué no se establecen los permisos de AndroidManifest en mi aplicación?
  • Utilizar un Cursor devuelto desde un LoaderManager en un AsyncTask
  • Uso de Proguard para obfuscar la aplicación Android con las bibliotecas de Dropbox.com
  • Convertir todo el contenido en un ScrollView a un mapa de bits?
  • Parse Android Volley respuesta JSONArray
  • Cómo construir una fecha de una cadena
  • Analizador SAX obtener atributo de endelement
  • Obtención de metadatos de SHOUTcast utilizando IcyStreamMeta
  • Cómo convertir mapa a bytes y guardar en almacenamiento interno
  • Android: Convertir secuencia a cadena sin quedarse sin memoria
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.