Cómo anidar Fragment dentro de Activity e iniciar Activity en Android

En el desarrollo de Android, los Fragment son componentes reutilizables que se pueden integrar en una Activity. A continuación, se explica cómo gestionar Fragment dentro de una Activity y cómo iniciar una nueva Activity desde un Fragment, junto con un análisis de su ciclo de vida.

1. Reemplazar Fragment en una Activity

Para sustituir dinámicamente un Fragment en un contenedor dentro de la Activity, se utiliza el FragmentManager y FragmentTransaction. Aquí se muestra un ejemplo modificado:

private void actualizarFragment(Fragment nuevoFragment) {
    // Obtener el gestor de fragmentos desde la Activity
    FragmentManager gestorFragmentos = getSupportFragmentManager();
    // Iniciar una transacción para modificar los fragmentos
    FragmentTransaction transaccion = gestorFragmentos.beginTransaction();
    // Reemplazar el contenido del contenedor con el nuevo fragmento
    transaccion.replace(R.id.contenedor_fragments, nuevoFragment);
    // Agregar la transacción a la pila de retroceso para manejar la navegación
    transaccion.addToBackStack("actualizacion_fragment");
    // Confirmar la transacción para aplicar los cambios
    transaccion.commit();
}

2. Iniciar una Activity desde un Fragment

Un Fragment puede lanzar una Activtiy utilizando un Entent. Este código se ejecuta en el método onResume del Fragment:

@Override
public void onResume() {
    super.onResume();
    // Crear un Intent para navegar a la Activity destino
    Intent intencion = new Intent(getActivity(), AjustarResolucionActivity.class);
    // Iniciar la Activity desde el contexto del Fragment
    startActivity(intencion);
}

3. Análisis del ciclo de vida Fragment-Activity

Para comprender la interacción entre Fragment y Activity, se pueden registrar eventos del ciclo de vida mediante logs. A continuación, se describen varios escenarios:

  • Al iniciar un Fragment dentro de una Activity: El ciclo sigue el orden estándar de creación, donde la Activity se crea primero y luego el Fragment.
  • Al presionar el botón Back: El Fragment se pausa, seguido de la Activity; luego ambos se detienen y finalmente se destruyen, mostrando la dependencia del ciclo de vida.
  • Al presionar el botón Home: El Fragment y la Activity se pausan y detienen, pero no se destruyen inmediatamente, permitiendo su restauración posterior.
  • Al reanudar la aplicación después de Home: La Activity se reinicia primero, luego el Fragment se vuelve a crear y ejecutar, manteniendo el estado anterior.
  • Al reemplazar un Fragment por otro: El Fragmant anterior se destruye por completo antes de cargar el nuevo, evidenciando la gestión de recursos.

Estas observaciones confirman que el ciclo de vida del Fragment está vinculado al de la Activity, y que las operaciones en Fragment solo son efectivas mientras la Activity está en estado de ejecución (entre onResume y onPause).

Etiquetas: Android Fragment Activity java

Publicado el 6-15 21:56