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
- Android - ListView filtrar el conteo
- Conversión de JSONarray a ArrayList
- Cómo agrandar el elemento central en un listview - android?
- Horizontal listView con 1 elemento visible a la vez
- ¿Cómo simular un clic de usuario a un elemento de vista de lista en junit testing?
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?
- Cambiar dinámicamente el color de (Elemento de lista) TextView en Listview
- Cómo hacer TextWatcher esperar un tiempo antes de hacer algo de acción
- Cómo agregar mapfragment dentro de un elemento listview dentro de adaptador?
- Desplazamiento de la lista con botones
- Lista de preferencias sólo muestra el primer elemento
- La vista de lista de Android enruta contenido hasta un tamaño determinado basado en el tamaño de pie de página
- ListFragment con adaptador personalizado
- Filtro ListView con CursorLoader y CursorAdapter personalizado
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.
- Geocodificación inversa – Servicio No disponible – Reiniciar el dispositivo que no resuelve definitivamente – criticar mi geocodificación inversa manual
- Cómo agregar por programación suscripciones de calendario en Android?