Fragmento onCreate llamado varias veces cuando vuelve a cargar el Fragmento

A continuación se muestra mi código:

public class MyListFragmentActivity extends FragmentActivity{ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); System.out.println("DEBUG : MLFA onCreate"); if (savedInstanceState == null) { getSupportFragmentManager().beginTransaction().replace(fragmentID, new MyListFragment()) .replace(detailFragmentID, new MyDetailFragment()).commit(); } } @Override protected void onRestart() { FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction(); Fragment prevFrag = getSupportFragmentManager().findFragmentById(detailFragmentID); if (prevFrag != null) { fragmentTransaction.remove(prevFrag); getSupportFragmentManager().beginTransaction().replace(detailFragmentID, new MyDetailFragment()).commitAllowingStateLoss(); } else { getSupportFragmentManager().beginTransaction().replace(detailFragmentID, new MyDetailFragment()).commitAllowingStateLoss(); } } 

MyListFragment

 public class MyListFragment extends Fragment{ //When we click on each item in list view call detail fragment to relad its layout OnItemClickListener onItemClickListener = new OnItemClickListener() { /** Getting the fragmenttransaction object, which can be used to add, remove or replace a fragment */ FragmentTransaction fragmentTransaction = getFragmentManager().beginTransaction(); /** Getting the existing detailed fragment object, if it already exists. * The fragment object is retrieved by its tag name * */ Fragment prevFrag = getFragmentManager().findFragmentById(detailFragmentID); /** Remove the existing detailed fragment object if it exists */ if (prevFrag != null) { fragmentTransaction.remove(prevFrag); MyDetailFragment mydetailFragment = new MyDetailFragment(); fragmentTransaction.replace(detailFragmentID, mydetailFragment); fragmentTransaction.addToBackStack(null); fragmentTransaction.show(getFragmentManager().findFragmentById(detailFragmentID)); fragmentTransaction.commit(); } } 

MyDetailFragment

 public class MyDetailFragment extends Fragment{ onCreate() // on create being called multiple times ? why ????????????? onCreateView() } 

Cuando hago clic en mi elemento de lista MyDetailFragment onCreate () se llama una sola vez, pero cuando inclino el dispositivo a un retrato o un paisaje entonces MyDetailFragment onCreate () se llama varias veces?

¿Porque? ¿Qué estoy haciendo mal aquí y cómo arreglar esto?

Cada vez que cambie la orientación, es tan bueno como reiniciar la aplicación. Usted necesita manejar los cambios apropiadamente como liberar los recursos, adquirirlos de nuevo, detener cualquier trabajo que estaba haciendo y reanudarlos y así sucesivamente.

No estás haciendo nada malo.

  • Los elementos ListView no se muestran como activados
  • Uso de ListView: ¿Cómo agregar una vista de encabezado?
  • Ajustar el ajuste de la panorámica no parece funcionar en JellyBean 4.2.2-4.1.2
  • ¿Cómo ocultar el teclado virtual al cambiar las pestañas?
  • Android: AutoCompleteTextView margen superior en ListView
  • Ayuda sobre el evento onClick () en un elemento del diseño de filas personalizadas ListView
  • Android java.lang.ClassCastException: android.widget.LinearLayout no se puede convertir en android.widget.TextView
  • Android ListView - se desplaza de nuevo al principio en la actualización
  • ArrayAdapter de Android: agrega lista de cadenas en lugar de reemplazar
  • Filtro de búsquedaVer ListView
  • Establecer onClickListener a LinearLayout llenado por adaptador personalizado
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.